本文主要是介绍自然数幂级数之和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
观察
可以看到下面的结果:
∑ k = 1 n k ∑ k = 1 n k 2 ∑ k = 1 n k 3 ∑ k = 1 n k 4 ∑ k = 1 n k 5 ∑ k = 1 n k 6 ∑ k = 1 n k 7 ∑ k = 1 n k 8 ∑ k = 1 n k 9 ∑ k = 1 n k 10 ∑ k = 1 n k 11 ∑ k = 1 n k 12 = n ( n + 1 ) 2 = n ( n + 1 ) ( 2 n + 1 ) 6 = n 2 ( n + 1 ) 2 4 = n ( n + 1 ) ( 2 n + 1 ) ( 3 n 2 + 3 n − 1 ) 30 = n 2 ( n + 1 ) 2 ( 2 n 2 + 2 n − 1 ) 12 = n ( n + 1 ) ( 2 n + 1 ) ( 3 n 4 + 6 n 3 − 3 n + 1 ) 42 = 1 24 n 2 ( n + 1 ) 2 ( 3 n 4 + 6 n 3 − n 2 − 4 n + 2 ) = 1 90 n ( n + 1 ) ( 2 n + 1 ) ( 5 n 6 + 15 n 5 + 5 n 4 − 15 n 3 − n 2 + 9 n − 3 ) = 1 20 n 2 ( n + 1 ) 2 ( n 2 + n − 1 ) ( 2 n 4 + 4 n 3 − n 2 − 3 n + 3 ) = 1 66 n ( n + 1 ) ( 2 n + 1 ) ( n 2 + n − 1 ) ( 3 n 6 + 9 n 5 + 2 n 4 − 11 n 3 + 3 n 2 + 10 n − 5 ) = 1 24 n 2 ( n + 1 ) 2 ( 2 n 8 + 8 n 7 + 4 n 6 − 16 n 5 − 5 n 4 + 26 n 3 − 3 n 2 − 20 n + 10 ) = n ( n + 1 ) ( 2 n + 1 ) ( 105 n 10 + 525 n 9 + 525 n 8 − 1050 n 7 − 1190 n 6 + 2310 n 5 + 1420 n 4 − 3285 n 3 − 287 n 2 + 2073 n − 691 ) 2730
等等。
奥数出这样的题怎么办?如果给了公式,数学归纳法总能证明。如果不给公式,直接求怎么办?
临时能算出来的,只有高斯大神: p = 1 , n = 100
上述公式速记的办法
上面 的和式, 如果记:
S ( n , p ) = ∑ k = 1 n k p
1980年,有人Schultz指出,它们都可以表示成 n 的 p + 1 次多项式,所以,只须找一个算法确定多项式每一项的系数就可以了。——这个算法是解 n × n 的线性方程组,看上去非常简单。
先说 p + 1 次齐次多项式(不带常数项)的形式:
S ( n , p ) = ∑ k = 1 n k p = c p + 1 n p + 1 + c p n p + c p − 1 n p − 1 + ⋯ + c 2 n 2 + c 1 n
这些系数 c 1 , c 2 , ⋯ , c p , c p + 1 满足如下线性方程(组):
∑ i = j + 1 p + 1 ( − 1 ) i − j + 1 ( i j ) c i = δ j , p
其中
( i j ) 是组合数,
i 中取
j 个之取法;
δ j , p 是克罗内克记号,
j = p 取1,否则为0。
取 j = 0 , 1 , 2 , ⋯ , p 从而可以列出 p + 1 个线性方程,解出 p + 1 个系数 c 1 , c 2 , ⋯ , c p − 1 , c p + 1 。
参考文献
http://mathworld.wolfram.com/PowerSum.html
这篇关于自然数幂级数之和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!