所以我试图找到数字1 - 20中最不常见的倍数。出于某种原因,我的代码超出了最大递归深度,但我不明白为什么。我只是没有看到它在while循环中陷入困境。另外,我知道它还没有打印到控制台。
def checking(i,q,w,e):
q = q * w
while i < 20:
if q % i != 0:
w += 1.0
checking(1.0, 20.0, w, [])
if q % i == 0 and i < 19:
i += 1
if q % i == 0 and i == 19:
e.append(q)
break
checking(1.0, 20.0, 1.0, [])
答案 0 :(得分:0)
你永远不会改变q。所以当q%i
不等于0时,你永远不会增加i,你将永远陷入循环。我认为你应该在这里重新评估你的逻辑。