0

再次致力于 Project Euler,这一次我的脚本只是挂在那里。我很确定我让它运行足够长的时间,而且我的手迹(正如我父亲所说的那样)不会产生任何问题。我哪里错了?

我只包含代码的相关部分,一次。

def main():
    f, n = 0, 20
    while f != 20:
        f = 0
        for x in range(1,21):
            if n % x != 0: break
            else: ++f
        if f == 20: print n
        n += 20

提前致谢!

4

2 回答 2

3

Python 没有增量 ( ++)。它被解释为+(+(a)). + 是一元加号运算符,它基本上什么都不做。采用+= 1

于 2010-06-30T13:08:18.977 回答
0

在您的情况下,“f”值永远不会达到 20,因此永远不会退出 1) 在第一次休息时(当 n = 20 和 x = 3 时)它再次设置 f = 0。同样,对于下一个循环,n 也会增加 20,但是当“x”再次为 3 时,f=0

所以这将进入无限循环......

于 2010-06-30T13:16:43.343 回答