Problem 6 Sum square difference
The sum of the squares of the first ten natural numbers is:
1 2 + 2 2 + 3 2 + ⋯ + 1 0 2 = 385 \large 1^2+2^2+3^2+\cdots+10^2=38512+22+32+⋯+102=385
The square of the sum of the first ten natural numbers is:
( 1 + 2 + 3 + ⋯ + 10 ) 2 = 5 5 2 = 3025 \large (1+2+3+\cdots+10)^2=55^2=3025(1+2+3+⋯+10)2=552=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 \large 3025 - 385 = 26403025−385=2640
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
问题 6 和的平方与平方的和差值
前十个自然数的平方的和为:
1 2 + 2 2 + 3 2 + ⋯ + 1 0 2 = 385 \large 1^2+2^2+3^2+\cdots+10^2=38512+22+32+⋯+102=385
而前十个自然数和的平方为:
( 1 + 2 + 3 + ⋯ + 10 ) 2 = 5 5 2 = 3025 \large (1+2+3+\cdots+10)^2=55^2=3025(1+2+3+⋯+10)2=552=3025
因此,前十个自然数的平方和与和的平方之间的差是:
3025 − 385 = 2640 \large 3025 - 385 = 26403025−385=2640
求前一百个自然数的平方和与和的平方之间的差
思路分析
自然数的平方的和通项公式
S ( 1 ) = n ( n + 1 ) ( 2 n + 1 ) 6 \large S(1)=\frac{n(n+1)(2n+1)}{6}S(1)=6n(n+1)(2n+1)
自然数和的平方通项公式
S ( 2 ) = ( n ( n + 1 ) 2 ) 2 \large S(2)=\left ( \frac{n(n+1)}{2} \right )^2S(2)=(2n(n+1))2
则和的平方与平方和差值通项公式为
S ( n ) = S ( 2 ) − S ( 1 ) = ( n ( n + 1 ) 2 ) 2 − n ( n + 1 ) ( 2 n + 1 ) 6 \large S(n)=S(2)-S(1)=\left ( \frac{n(n+1)}{2} \right )^2-\frac{n(n+1)(2n+1)}{6}S(n)=S(2)−S(1)=(2n(n+1))2−6n(n+1)(2n+1)
= n ( n − 1 ) ( n + 1 ) ( 3 n + 2 ) 12 \large =\frac{n(n-1)(n+1)(3n+2)}{12}=12n(n−1)(n+1)(3n+2)
代码实现
/* * @Author: coder-jason * @Date: 2022-04-12 10:48:07 * @LastEditTime: 2022-04-12 11:16:45 */ #include <iostream> using namespace std; int main() { int n = 100; long long int ans = n * (n - 1) * (n + 1) * (3 * n + 2) / 12; cout << ans; return 0; }
答案:25164150