繁体   English   中英

素数之和不正确

[英]The sum of prime number is incorrect

代码没有返回素数的总和,我做错了什么?

the_sum = 0
for number in range(20):
    if number > 3:
        for i in range(2,number):
            if (number%i)==0:
                break
        else:
            the_sum += number
            print (the_sum)
the_sum = 0
for number in range(20):
    if number >= 3:
        for i in range(2,number):
            if (number%i)==0:
                break
            elif i == (number-1):
                the_sum += number
    elif number==2:
        the_sum += number

print (the_sum)

请试试这个。

2 是一个质数,你需要包括它。 还有 3,你正在检查 > 3 ,它应该是 >=

the_sum = 0
for number in range(2,20):
    for i in range(2,number):
        if (number%i)==0:
            break
    else:
        the_sum += number
print(the_sum)

我更改了以下代码行 if 条件我将其更改为if number >= 2而不是if number > 3因为二也是素数,因此也需要将其添加到总和中。

注意:范围函数总是开始生成0而不是1可迭代对象,并以小于限制的1结束,例如:

范围(0, 4)

将生成从0 to 4数字

the_sum = 0
for number in range(1, 4):
    # numbers = [1, 2, 3,]
    if number >= 2:
        for i in range(2,number):

            if (number%i)==0:
                break
        else:
            the_sum += number


print (the_sum)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM