簡體   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