Răsfoiți Sursa

Summation of Primes

Mistivia 4 zile în urmă
părinte
comite
bc76d979fd
1 a modificat fișierele cu 20 adăugiri și 0 ștergeri
  1. 20 0
      0010/main.hs

+ 20 - 0
0010/main.hs

@@ -0,0 +1,20 @@
+primes = primesImpl 2 []
+    where
+        primesImpl :: Integer -> [Integer] -> [Integer]
+        primesImpl i primeList =
+            if isPrime then
+                i:(primesImpl (i+1) (primeList ++ [i]))
+            else
+                primesImpl (i+1) primeList
+            where
+                isPrime = isPrimeImpl primeList
+                    where
+                        isPrimeImpl [] = True
+                        isPrimeImpl (x:xs) =
+                            if i `mod` x == 0 then
+                                False
+                            else
+                                isPrimeImpl xs
+
+main = do
+    putStrLn $ show $ sum $ takeWhile (<2000000) primes