The sum of the squares of the first ten natural numbers is,
12 + 22 + … + 102 = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + … + 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.
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
前十个自然数的平方和是:
12 + 22 + … + 102 = 385
前十个自然数的和的平方是:
(1 + 2 + … + 10)2 = 552 = 3025
所以平方和与和的平方的差是3025 – 385 = 2640.
找出前一百个自然数的平方和与和平方的差。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#define N 100
int powplus(int n, int k)
{
int s = 1;
while (k--) {
s *= n;
}
return s;
}
int sum1(int n)
{
return powplus((n + 1) * n / 2, 2);
}
int sum2(int n)
{
return (n * (n + 1) * (2 * n + 1)) / 6;
}
void solve()
{
printf("%d\n", sum1(N));
printf("%d\n", sum2(N));
printf("%d\n", sum1(N) - sum2(N));
}
int main()
{
solve();
return 0;
}
Answer:25164150
Completed on Tue, 2 Apr 2013, 06:57
Comments