トップページに戻る    次のC++のサンプルへ    前のC++のサンプルへ

Problem6 最初の100個の自然数の、和の2乗と2乗の和の差

問題

最初の10個の自然数について、その和の2乗と、2乗数の和は以下の通り。

1*1 + 2*2 + ... + 10*10 = 385
(1 + 2 + ... + 10)の2乗 = 3025
これらの数の差は 3025-385=2640となる。

同様にして、最初の100個の自然数について和の2乗と2乗の和の差を求めよ。


ソース

#include <stdio.h>

void main()
{
    //const int targetVal = 10;
    const int targetVal = 100;

    int SumVal1=0;
    int SumVal2=0;

    for(int I=1;I<=targetVal;I++){
        SumVal1+=I*I;
        SumVal2+=I;
    }
    printf("差 = %d \n",SumVal2*SumVal2-SumVal1);
}


実行結果

差 = 25164150


解説

単純に計算してます。