小学数学之前 n 个正整数的 a 次方之和
我不如小学生.png
作为高中生, 被小学奥 (chang) 数 (shi) 针对了.
于是, 这里集中了形如 $\sum_{i=1}^n i^a, (a = 1, 2, 3, \ldots )$, 即前 $n$ 个正整数的 $a$ 次方和的计算公式.
简单结论
首先, 有以下结论
至此, 本文结束, 你不应该在这个乐色结论上浪费太多时间 (.
结论证明
$a = 1$
设 $S_n = \sum_{i=1}^n i$, 并容易发现这就是个公差为 $1$ 的等差数列, 直接上求和公式即可.
但是, 这是小学生的数学, 我们换一种方式
显然有
这是个数列里普通的技巧 “倒序相加”,
也就能拿来骗小学生玩了但是这个方法不能推广到 $a=2$ 的情况, 于是继续换一种方式
我们有 $(k-1)^2 = k^2 - 2k + 1$, 移项得 $k^2 - (k-1)^2 = 2k - 1$
所以
所以
$a = 2$
同样, 设 $S_n = \sum_{i=1}^n i^2$, 有 $(k-1)^3 = k^3 - 3k^2 + 3k - 1$
移项, 得
所以
经过一番代换, 有
$a = 3$
同理可得, 留给读者当作练习 (
当然, 这个公式有另一种理解方式
这是为什么呢, 可以参考 Nicomachus’s Proof
$a \geq 4$
可以用很多方法做, 然而我只会拉格朗日插值.
拉格朗日插值
详见 CF622F The Sum of the k-th Powers, 好的实现可以在 $O(a)$ 的时间内计算.