【发布时间】:2020-03-09 10:46:26
【问题描述】:
看看下面的代码:
total = 0
for j in range(int(start)-1,int(end)):
total += (A+j)*(B+j)*(C+j)*(D+j)
print(total%1000000007)
现在代码运行良好,但我需要降低时间复杂度。
1
1
如您所见,数字可能非常大。 如何加快乘法部分? 我尝试了俄罗斯农民技术。还是不够快。
我还阅读了有关 python 乘法的类似帖子,但它无法解决我的问题。
【问题讨论】:
-
递归限制超出
-
你可以这样做增加递归深度(注意2000只是一个例子):
import syssys.setrecursionlimit(2000) -
我做到了,但速度仍然不够快...仍然超过时间限制
标签: python dynamic-programming multiplication