Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Project Euler#10-Python错误结果_Python - Fatal编程技术网

Project Euler#10-Python错误结果

Project Euler#10-Python错误结果,python,Python,我正在使用以下代码: import math def is_prime(num): num_sqrt=int(math.sqrt(num))+1 for i in range(2, num_sqrt): if(num%i == 0): return False return True prime_sum=3 counter=2 for a in range(5, 2000000, 2): if(is_prime(a))

我正在使用以下代码:

import math

def is_prime(num):
    num_sqrt=int(math.sqrt(num))+1
    for i in range(2, num_sqrt):
        if(num%i == 0):
            return False
    return True

prime_sum=3
counter=2

for a in range(5, 2000000, 2):
    if(is_prime(a)):
        counter = counter +1
        print a, counter
        prime_sum=prime_sum+a

print prime_sum
我得到的结果是
142913828920

上述程序输出的最后10行为:

1999859 148925
1999867 148926
1999871 148927
1999889 148928
1999891 148929
1999957 148930
1999969 148931
1999979 148932
1999993 148933
142913828920
该网站确认1999993是148933素数(->)


这里出了什么问题?

您的变量初始化不正确。前两个素数是2和3,所以它应该是5(不是3)。在现代数学中,1通常不被视为素数。

您错误地初始化了变量
prime\u sum
。前两个素数是2和3,所以它应该是5(不是3)。在现代数学中,1通常不被视为素数。

它违反了欧拉计划的精神,即发布声称是一个整体解(甚至是一个整体解的尝试)的代码。发布答案是对精神的更大破坏

伊姆霍


Gerry

发布代码声称是一个完整的解决方案(甚至是对一个完整解决方案的尝试)违反了Euler项目的精神。发布答案是对精神的更大破坏

伊姆霍


Gerry

我认为
素数和
应该初始化为5。2也是素数。是的,怎么了?求和错了吗?哦,我的双重错误:把1和2当作素数,然后忘记了3。所以,是的,素数和应该是2+3=5,我认为
prime和
应该初始化为5。2也是素数。是的,怎么了?求和错了吗?哦,我的双重错误:把1和2当作素数,然后忘记了3。所以,是的,素数和应该是2+3=5