由于val很大,因此它不执行代码。我们该怎么解决这个问题。
val = 78478277380
i = 2
while i < val:
if val % i == 0:
print(i)
i += 1
我想要所有的因素。
答案 0 :(得分:0)
在我的机器上运行它,我得到前五个因素:2, 4, 5, 10, 20
,然后它安静了一段时间。这不是因为它停止运行,而是因为我很确定下一个因素是3923913869
,这将需要一段时间才能找到。 Source。
答案 1 :(得分:0)
如果打印所有数字,则可以更好地了解正在发生的事情:
val = 78478277380
i = 2
while i < val:
print(str(i) + "is a not factor")
if val % i == 0:
print(str(i) + "is a factor")
i += 1
问题在于,这个数字并没有太多因素。