2017-04-03 98 views
-2

任何人都可以告訴我我的程序在哪裏出錯嗎?我只是沒有看到它...我的歐拉項目#1代碼出了什麼問題?

x_3 = [] 
i=0 
while 3*i < 1000: 
    sum_3 = 3*i 
    x_3.extend([sum_3]) 
    i += 1 

x_5 = [] 
j = 0 
while 5*j < 1000: 
    sum_5 = 5*j 
    j += 1 
    x_5.extend([sum_5]) 

answer = sum(x_5) + sum(x_3) 
print(answer) 
266333 

這是不正確的。

+4

請在您的問題中添加更多上下文。用戶不必檢查外部來源就更好了。 –

+0

請(重新)閱讀「[問]」,然後[編輯]你的問題來解釋你想要做什麼,以及你的程序應該做什麼(而不是打印'266333')。 266333是一個非常好的數字---沒有什麼明顯的「不正確」。引用Project Euler#1中的任何內容來清楚說明,並提供適當的歸屬,包括原始鏈接。你的問題應該是獨立的。 –

+0

下次嘗試搜索「Project Euler」。堆棧溢出已經有幾個答案。 –

回答

0

我會使用以下方法來計算的:

def calcEuler(x1,x2): 
    return sum(num for num in xrange(1000) if not (num % x1 and num % x2)) 

print(calcEuler(3,5)) 

你似乎加起來是0和1000是3的倍數和5之間。但是,所有的號碼,你是雙重錄製那些是兩者的倍數,如15,30等。所以,我組合了兩個循環。