The sum of the squares of the first ten natural numbers is,
1
2 + 2
2 + ... + 10
2 = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 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.
题目大意:
前十个自然数的平方和是: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 |