[Haskell-cafe] Re: Optimization fun

DavidA polyomino at f2s.com
Sun Feb 11 15:14:55 EST 2007


If you want it fast, don't use a sieve method at all (or a wheel method) - use 
trial division:

primes = 2 : [p | p <- [3,5..], trialDivision primes p]

trialDivision (p:ps) n | r == 0    = False
                       | q < p     = True
                       | otherwise = trialDivision ps n
                       where (q,r) = n `quotRem` p
trialDivision [] _ = True



More information about the Haskell-Cafe mailing list