第6题: 和平方与平方和的差

Problem 6: Sum Square Difference

题目

和平方与平方和的差

前10个自然数的平方和为

$$ 1^2+2^2+\dots+10^2=385 $$

前10个自然数的和平方为

$$ (1+2+\dots+10)^2=55^2=3025 $$

因此前十个自然数的和平方与平方和的差为 $3025-385=2640$。

求前100个自然数的和平方与平方和的差的差。

Sum Square Difference

The sum of the squares of the first ten natural numbers is,

$$ 1^2+2^2+\dots+10^2=385 $$

The square of the sum of the first ten natural numbers is,

$$ (1+2+\dots+10)^2=55^2=3025 $$

Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is $3025-385=2640$.

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.

解题方法

弱智版

直接循环暴力求解。不赘述。

公式法

平方和公式为:

$$ \sum_{i=1}^{n}i^2=\frac{n(n+1)(2n+1)}{6} $$

和平方的计算为:

$$ (\sum_{i=1}^{n}i)^2=[\frac{n(n+1)}{2}]^2 $$

则二者的差为

$$ \begin{aligned} (\sum_{i=1}^{n}i)^2-\sum_{i=1}^{n}i^2&=[\frac{n(n+1)}{2}]^2-\frac{n(n+1)(2n+1)}{6} \\ &=n(n+1)[\frac{3n(n+1)-2(2n+1)}{12}] \\ &=\frac{n(n+1)(n-1)(3n+2)}{12} \end{aligned} $$

参考代码

1
auto result = 100*(100+1)*(100-1)*(3*100+2)/12;

正确答案

答案
25164150

参考链接

0%