当我们处理大长度的数字时,如何减少python中的时间限制

当我们处理大长度的数字时,如何减少python中的时间限制,python,Python,因为val很大。所以它不执行代码。我们可以做些什么来解决这个问题 val = 78478277380 i = 2 while i < val: if val % i == 0: print(i) i += 1 val=78478277380 i=2 而我

因为val很大。所以它不执行代码。我们可以做些什么来解决这个问题

val = 78478277380 
i = 2
while i < val:
   if val % i == 0:
       print(i)
   i += 1
val=78478277380
i=2
而我

我需要val的所有因子。

在我的机器上运行此操作,我得到前5个因子:
2,4,5,10,20
,然后它会安静一会儿。这不是因为它停止运行,而是因为我很确定下一个因素是
3923913869
,这将需要一段时间才能找到

如果您打印所有数字,您将更好地了解发生了什么:

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
val=78478277380
i=2
而我

问题是这个数字没有太多的因素。

你说的“它没有执行代码”是什么意思?会发生什么?有错误吗?这个数字没有太多的因素吗?请查看相同问题的其他解决方案