summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Zhao <ztuowen@gmail.com>2015-04-01 17:41:53 +0800
committerJoe Zhao <ztuowen@gmail.com>2015-04-01 17:41:53 +0800
commitb47befab3696c40c710ee80f366fa376ec967b30 (patch)
tree7859df15302b2ba7bea0a6eaa41dac1052d2deb6
parentd09ec147fa223dcf760eaa592bc0573e678ea412 (diff)
downloadh99-b47befab3696c40c710ee80f366fa376ec967b30.tar.gz
h99-b47befab3696c40c710ee80f366fa376ec967b30.tar.bz2
h99-b47befab3696c40c710ee80f366fa376ec967b30.zip
+40 +41
-rw-r--r--H31.hs5
-rw-r--r--H40.hs7
-rw-r--r--H41.hs9
3 files changed, 21 insertions, 0 deletions
diff --git a/H31.hs b/H31.hs
index 9c321ca..7c0c8a6 100644
--- a/H31.hs
+++ b/H31.hs
@@ -1,3 +1,8 @@
+module H31
+( isPrime
+, isPrimeT
+) where
+
import System.Random
isPrime :: Integral a => a -> Bool
diff --git a/H40.hs b/H40.hs
index 448d372..4a31727 100644
--- a/H40.hs
+++ b/H40.hs
@@ -1,4 +1,9 @@
+module H40
+( goldbach
+) where
+
import H35
+import H31
goldbach :: Integer -> (Integer, Integer)
goldbach x = sepToSum x primes $ reverse $ takeWhile (<x) primes
@@ -7,3 +12,5 @@ goldbach x = sepToSum x primes $ reverse $ takeWhile (<x) primes
| h+t > n = sepToSum n hhs ts
| h+t < n = sepToSum n hs tts
| otherwise = (h,t)
+
+goldbach' n = head [(x,y) | x <- (takeWhile (<n) primes),let y = n - x, isPrimeT y]
diff --git a/H41.hs b/H41.hs
new file mode 100644
index 0000000..1e9148b
--- /dev/null
+++ b/H41.hs
@@ -0,0 +1,9 @@
+import H40
+
+goldbachList :: Integer -> Integer -> [(Integer,Integer)]
+
+goldbachList a b
+ | a `mod` 2 == 0 = map goldbach [a,(a+2)..b]
+ | otherwise = goldbachList (a+1) b
+
+goldbachList' a b = filter ((>50).fst) $ goldbachList a b