Hauptsieb in Haskell
Ich bin sehr neu in Haskell und ich versuche nur, die Summe der ersten 2 Millionen Primzahlen zu finden. Ich versuche, die Primzahlen mit einem Sieb zu erzeugen (ich denke, das Sieb von Eratosthenes?), Aber es ist wirklich sehr langsam und ich weiß nicht warum. Hier ist mein Code.
sieve (x:xs) = x:(sieve $ filter (\a -> a `mod` x /= 0) xs)
ans = sum $ takeWhile (<2000000) (sieve [2..])
Danke im Voraus.