Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- testing https://stackoverflow.com/a/63603526/849891
- -- by https://stackoverflow.com/users/849891/will-ness
- > let primes = map head $ scanl (O.minus) [2..] [[p,p+p..] | p <- primes] in take 100 primes
- Loading package data-ordlist-0.4.7.0 ... linking ... done.
- [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,
- 137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,
- 271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,
- 431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541]
- it :: (Ord a, Num a, Enum a) => [a]
- (0.00 secs, 0 bytes)
- > :{
- let
- oprimes = map head $
- scanl (O.minus . tail) [3,5..] [[p*p,p*p+2*p..] | p <- oprimes]
- primes = 2 : oprimes
- primesUpTo n = 2 : map head a ++ takeWhile (<= n) b
- where
- (a,b:_) = span ((<= n) . (^2) . head) $
- scanl (O.minus . tail) [3,5..] [[p*p,p*p+2*p..] | p <- oprimes]
- in
- primesUpTo 545
- :}
- [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,
- 137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,
- 271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,
- 431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541]
- it :: (Ord a, Num a, Enum a) => [a]
- (0.00 secs, 26798496 bytes)
Add Comment
Please, Sign In to add comment