3
我試圖創建一個函數,它接受一個Int
(n
),和一個列表Int
的k
秒,返回所有數字1 <= i <= n
,通過從列表k
整數的至少一個整除的總和。如何測試一個列表中的整數是否可以被另一個列表中的整數整除?
addl::Int -> [Int] -> Int
addl x [] = 0
addl x (y:ys) = if ((map [1..x] `mod` y) == 0)
then y + addl x ys
else 0 + addl x ys
這是我得到了什麼,但我得到這個消息:
Couldn't match expected type `a0 -> b0' with actual type `[t0]'
In the first argument of `map', namely `[1 .. x]'
In the first argument of `mod', namely `map [1 .. x]'
In the first argument of `(==)', namely `(map [1 .. x] `mod` y)'
,我一直試圖弄清楚,只是還沒有認識。 所有幫助非常感謝。
你想用地圖完成什麼?地圖需要一個函數和一個列表,所以你的簽名是錯誤的。 – wvdz 2014-09-29 11:08:39
試圖確保其在MODS [1..X]每一個數字,其中y – Haskellnewb27 2014-09-29 11:10:36
您的意思是'ADD1 NK = SUM $過濾器(\ X - >任何((== 0)MOD x)的K)1 ..?]'? – Vektorweg 2014-09-29 11:16:59