fork download
  1. primesBert = 2 : filter isprime [3,5..] where
  2. isprime n = all ((/=0).(mod n)) $ takeWhile ((<=n).(^2)) primesBert
  3.  
  4. primesErat = sieve $ 2:[3,5..] where
  5. sieve (s:ss) = s : (filter ((/=0).(`mod` s)) $ sieve ss)
  6.  
  7. main = do
  8. let n = 100000
  9. print $ primesBert !! n
  10. --- print $ primesErat !! n
Success #stdin #stdout 1.88s 7776KB
stdin
Standard input is empty
stdout
1299721