プロジェクトオイラーの問題10。私はそこにいくつかの議論を見ただけC.Haskellコードを最適化し、200万未満のすべての素数の合計を計算する
のために私は計算するには、次のコードを使用:
print . sum . sieve $ [2..2000000] where
sieve [] = []
sieve (x:xs) = x : sieve (filter ((/= 0) . (`mod` x)) xs)
それは計算に時間がかかります。私はそれを計算するための効率的な方法があれば疑問に思っていますか?
また、typo: 'sieve'の代わりに' seive'があります。 –
が更新されました。ありがとうございました。 – swcai
準線形時間で行うことも可能です(https://stackoverflow.com/questions/44441627/how-to-optimize-this-haskell-code-summing-up-the-primes)。 –