Problème 10 dans le projet Euler. J'y ai vu une discussion, mais seulement pour C.Optimiser le code Haskell en calculant la somme de tous les nombres premiers inférieurs à deux millions
je le code suivant pour calculer:
print . sum . sieve $ [2..2000000] where
sieve [] = []
sieve (x:xs) = x : sieve (filter ((/= 0) . (`mod` x)) xs)
Il faut calculer les âges à. Je me demande s'il existe un moyen plus efficace de le calculer?
Aussi, une faute de frappe: vous avez 'seive' au lieu de' sieve'. –
Mis à jour. Merci Antal. – swcai
Il est possible de le faire en temps sub-linéaire, https://stackoverflow.com/questions/44441627/how-to-optimize-this-haskell-code-summing-up-the-primes. –