使用线性系列的二次幂的算法

时间:2015-10-28 00:11:18

标签: algorithm

我不太确定它是应该来这里还是数学堆栈交换,在这里张贴以找到更多实际案例。

是否存在使用线性系列的二次幂的公式/算法? 含义:a(1)^ 2 + a(2)^ 2 + a(3)^ 2 + ... + a(n)^ 2

其中a(n)是线性系列。

1 个答案:

答案 0 :(得分:0)

设a_k = a_0 + d°(k-1)

然后:(我使用°进行乘法运算)

sum(a_k ^ 2)= sum((a_0 + d°(k-1))^ 2)= sum(a_0 ^ 2 + d°d°(k-1)^ 2 + 2°d°( k-1))= n°a_0°a_0 + d°d°sum((k-1)^ 2)+ 2°d°sum(k-1)

(总和从1到n) 我们知道sum(k)= n°(n + 1)/ 2,sum(k ^ 2)= n°(n + 1)°(2n + 1)/ 6

因此以上

总和(a_k ^ 2)= n°a_0°a_0 + d°d°(n-1)°n°(2n-1)/ 6 + 2°(n-1)°n / 2

可以简化一点,并在恒定时间内计算。