i = 1
d = 1
e = 20199
a = 10242248284272
while(True):
print(i)
if((i*e)%a == 1):
d = i
break
i = i + 1
给出数字来表示它们的长度。
我有一段Python代码适用于非常庞大的数字,我不得不等待一天或两天。如何减少代码运行所需的时间?
答案 0 :(得分:0)
你可以做很多事情来加快速度;是否足够是另一回事。
i*e
来保存此值,而不是每次迭代计算i_e
。每次增加i
时,都可以向其添加e
。(i*e)%a==1
。如果您对i
使用了更大的增量,则可以避免对大多数增量进行测试。当然,你必须小心不要过冲。i
的完整值(尽管您仍然需要跟踪它,输出结果)a<=x<2*a
,则x-a==1
相当于x%a==1
。这些都不足以降低问题的复杂性,但可能足以减少常数因素,以便为您的目的加快速度。