200万以下的素数

时间:2020-07-22 17:23:02

标签: python

我为Euler项目编写了此代码(在前100个项目中,我相信这是允许的),但是这样做很慢。我相信它应该可以工作,但是我想使其更快。我觉得这需要一个小时才能完成。这是python中的代码。

guess=2
prime=True
total=0
while guess<2_000_000:
    prime=True
    for i in range(2, guess):
        if guess%i == 0:
            prime=False
    if prime:
        total+=guess
    guess+=1
print(total)

1 个答案:

答案 0 :(得分:0)

很少有想法-

  1. 一旦发现数字不是素数,就可以中断循环(在内部循环中的if之后)
  2. 足以让内部循环运行到猜测的平方根,而不是直到猜测为止。

我认为这些想法将大大加快您的代码速度