我的代码:
import sys
sys.setrecursionlimit(10000)
findNumber = 0
startingnumber = 100000
def mainfunc():
global startingnumber, findNumber
while(findNumber == 0):
print(startingnumber)
if (startingnumber % 11 == 0):
if (startingnumber % 12 == 0):
if (startingnumber % 13 == 0):
if (startingnumber % 14) == 0:
if (startingnumber % 15 == 0):
if (startingnumber % 16 == 0):
if (startingnumber % 17 == 0):
if (startingnumber % 18 == 0):
if (startingnumber % 19 == 0):
if (startingnumber % 20 == 0):
findNumber=1
else:
startingnumber = startingnumber + 10
mainfunc()
else:
startingnumber = startingnumber + 10
mainfunc()
else:
startingnumber = startingnumber + 10
mainfunc()
else:
startingnumber = startingnumber + 10
mainfunc()
else:
startingnumber = startingnumber + 10
mainfunc()
else:
startingnumber = startingnumber + 10
mainfunc()
这个程序的用途是计算能被1到20的所有数字整除的最小正数
我知道这个程序是有效的,因为当我在“startingnumber”中插入正确的数字时,程序会检测到它并起作用。然而,我的问题是起始值增加了 ≈25,000 然后程序停止工作。
例如,如果我将 startingnumber 设置为 10,000,程序将运行到 ≈35,000,然后停止工作。如果我将 startingnumber 设置为 100,000,程序将运行到 ≈125,000 并停止工作。
有人能告诉我为什么吗?
我也知道有很多更简单的方法可以做到这一点,但我计划在弄清楚为什么这个程序不起作用后继续研究
三国纷争
相关分类