当我在2,20的范围内测试它时,它的价值非常大,而花费200万的时间却很多。 有什么问题吗?
i=2
sum=0
for a in range(2,2000001):
for i in range (2,a):
if a%i==0:
break
else:
sum=sum+a
print (sum)
答案 0 :(得分:1)
您可以使用SymPy使用Eratosthenes筛子获得质数,然后使用sum()
添加它们。
要点安装SymPy,请在终端中使用pip
命令:
pip install sympy
访问其installation page以查看其他安装方法。
SymPy documentation for prime number related functions说明了如何使用其各种功能。
这个简单的代码将完成您想要的:
from sympy import sieve
sieve.extend(2000000)
print(sum(sieve._list))
并打印:
142913828922