diff options
author | Joe Zhao <ztuowen@gmail.com> | 2014-08-09 10:58:03 +0800 |
---|---|---|
committer | Joe Zhao <ztuowen@gmail.com> | 2014-08-09 10:58:03 +0800 |
commit | 5bdaa1e4ffe40add10f000ee993e6b500c419a37 (patch) | |
tree | 46a624488ece8d37fa3580422234ed2b4acc6728 /prime.hs | |
parent | 01aa73b269f7ad780233be338affdf3c9288b1ed (diff) | |
download | haskbox-old-5bdaa1e4ffe40add10f000ee993e6b500c419a37.tar.gz haskbox-old-5bdaa1e4ffe40add10f000ee993e6b500c419a37.tar.bz2 haskbox-old-5bdaa1e4ffe40add10f000ee993e6b500c419a37.zip |
add files from home for previous chapters and sandboxes
Diffstat (limited to 'prime.hs')
-rw-r--r-- | prime.hs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/prime.hs b/prime.hs new file mode 100644 index 0000000..2407280 --- /dev/null +++ b/prime.hs @@ -0,0 +1,11 @@ +prime = [x| x<-[2,3..], null [y|y<-[2,3..floor $ sqrt(fromIntegral x)],mod x y ==0] ] + +primes r [] = r +primes r (p:ps) = if null [y|y<-r,mod p y == 0] + then p:(primes (p:r) ps) + else primes r ps + +pr = 2:(ps [3,5..]) + +ps (x:xr) = x:(ps (filter rem xr)) + where rem y = (mod y x) /=0 |