[ create a new paste ] login | about

Link: http://codepad.org/Z62VCphw    [ raw code | output | fork ]

WillNess - Haskell, pasted on Jan 26:
1
2
3
4
5
6
7
8
9
ps = 2 : _Y ((3:) . diff [5,7..] . unionAll . map (\p-> [p*p, p*p+2*p..]))
_Y g = g (_Y g)  
unionAll ((x:xs):t) = x : (joyn xs . unionAll . pairs) t  
   where   pairs (a:b:t) = joyn a b : pairs t
ordzip a b = g a b   where { g a@(x:r) b@(y:q)   
   | x<y = (x,0):g r b | y<x = (0,y):g a q | otherwise = (x,y):g r q }  
diff xs ys = [x | (x,y)<- ordzip xs ys, x/=0 && y==0]   
joyn xs ys = [z | (x,y)<- ordzip xs ys, x/=0 || y/=0, let z=max x y] 
main=print$take 100 ps


Output:
1
[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]


Create a new paste based on this one


Comments: