我正在尝试解决Project Euler 的问题 10:
10 以下的素数之和为 2 + 3 + 5 + 7 = 17。
求两百万以下的所有素数之和。
这是我写的代码:
import math
def is_prime(number):
if number <= 1:
return False
if number == 2:
return True
for i in range(3,int(math.sqrt(number))+1):
if number % i ==0:
return False
else:
return True
all_primes = []
def check_prime():
count = 1
while count<2000000:
if is_prime(count) == True:
all_primes.append(count)
count += 2
check_prime()
print(sum(all_primes))
它给了我一个 142913828920 的答案,这是错误的,非常错误的。我究竟做错了什么?