算法得到自然数的幂和

时间:2017-11-18 08:20:59

标签: algorithm python-3.x

我使用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

1 个答案:

答案 0 :(得分:1)

您可以使用dynamic programming来避免重新计算大额权力。例如,16^k(2^k)^4。您已经计算了2^k,因此您可以在表格中查找,或者 - 使用前瞻策略 - 您可以事先计算出2的所有权力。