haskell筛子素数

时间:2015-11-21 05:48:32

标签: haskell sieve

在下面的主筛:

primes :: [Integer]
primes = sieve [2..]
  where
    sieve (p:xs) = p : sieve [x|x <- xs, x `mod` p > 0]

x | x <- xsx `mod` p > 0的含义是什么?

1 个答案:

答案 0 :(得分:2)

[ x | x <- xs, x `mod` p > 0]是由x的元素组成的xs列表,但只有那些满足x `mod` p > 0条件的元素(mod才会返回{ {3}},因此您要求xs不能被p整除的元素。

相关问题