我想列出所有除n的整数。这是一个家庭作业问题。到目前为止,我已经做到了。Haskell过滤函数错误
divisors :: Int -> [Int]
divisors n | n < 1 = []
| otherwise = filter (\n -> n `mod` x == 0) [1..n]
where x = [1..n]
我知道这是错误的,但我没有得到正确的过滤器谓词。我不知道这样做的语法。当然我不能用n mod
n,因为那只是列出了所有元素1到n。
的说法你不只是发布关于该问题? – 2012-01-03 13:18:07
没有这是一个关于如何使用过滤器语法的不同问题。这是一个更具体的问题,我建议为此询问一个新问题。抱歉。 – Amjad 2012-01-03 13:19:45
几天前写了一个类似的帖子:http://stackoverflow.com/questions/8701662/haskell-finding-divisors-of-an-integer – 2012-01-03 13:21:25