我使用python pow(n,k,mod)来获得自然数的幂和,但没有得到完美的时间复杂度。 我用过什么
mod = 10**9+9
total = 0
for i in range(2, n):
x = pow(i, k, mod)
total += x
total = total%mod
return total
你可以建议任何解决权力和的方法
( 1^k + 2^k + 3^k + 4^k .... n^k ) mod 1000000009
其中k的范围是1到1000,n属于自然数1
答案 0 :(得分:1)
您可以使用dynamic programming来避免重新计算大额权力。例如,16^k
为(2^k)^4
。您已经计算了2^k
,因此您可以在表格中查找,或者 - 使用前瞻策略 - 您可以事先计算出2
的所有权力。