2017-04-03 81 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等。所以,我组合了两个循环。