10以下的素数之和为2 + 3 + 5 + 7 = 17。
求两百万以下的所有素数之和。
我认为我的代码中没有任何错误。但是要给出答案确实需要很多时间。我尝试过使用 PyPy,因为我听说它比 CPython 解释器更快,但仍然不好。
这是代码:
#Implementation of Sieve of Eratosthenes
def prime_sieve(limit):
primes = range(2, limit)
for i in primes:
for j in range(2, primes[-1]):
try:
primes.remove(i*j)
except ValueError:
pass
return primes;
answer = 0
for x in prime_sieve(2000000):
answer += x
print "Answer: %d." % answer
raw_input()