【发布时间】:2018-05-02 10:26:33
【问题描述】:
def f(n):
Total_Triangles = 0
for i in range(1,n+1):
term = 3**(i-1)
Total_Triangles+=term
return Total_Triangles
Q = int(input())
for i in range(Q):
n = int(input())
Ans = f(n)*4 +1
print(Ans%1000000007)
如何解决此代码中的时间限制错误?
【问题讨论】:
-
为
f(n) = sum from i=1 to n of 3^(i-1) = sum from i=0 to n-1 of 3^i找到一个更快的表达式。 -
这就是我要问的
-
查看下面的答案以获得明确的解决方案,但我建议您阅读结果是如何得出的:en.wikipedia.org/wiki/Geometric_series#Formula
-
我用几何级数公式替换了该部分,但仍然显示 TLE。也许是函数下面的迭代部分需要更多时间。
标签: python algorithm optimization