トップページに戻る    次の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乗の和の差を求めよ。


ソース

using System;
using System.Linq;

class Program
{
    //const int TargetMax = 10;
    const int TargetMax = 100;

    static void Main()
    {
        long SumNijyou = Enumerable.Range(1, TargetMax)
                        .Select(X => X * X)
                        .Sum(X => X);

        long SumVal = Enumerable.Range(1, TargetMax)
                     .Sum();

        Console.WriteLine(SumVal * SumVal - SumNijyou);
    }
}


実行結果

25164150


解説

LINQを使ってます。