Eratosthenes筛法--Haskell实现

两种方式,下面的效率稍高一些。

primes = sieve [2..] where sieve (x:l) = x : sieve [y | y <- l, mod y x > 0] primes' = 2:sieve [3,5..] where sieve (x:l) = x : sieve [y | y <- l, if y>=x*x then mod y x > 0 else True]

 

你可能感兴趣的:(Eratosthenes筛法--Haskell实现)