「プロジェクトオイラー解説問6」の編集履歴(バックアップ)一覧に戻る

プロジェクトオイラー解説問6 - (2014/01/09 (木) 14:47:50) のソース

----
*Problem 6 「二乗和の差」 †
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%206 

最初の10個の自然数について, その二乗の和は, 
1^2 + 2^2 + ... + 10^2 = 385 
最初の10個の自然数について, その和の二乗は, 
(1 + 2 + ... + 10)^2 = 3025 
これらの数の差は 3025 - 385 = 2640 となる. 
同様にして, 最初の100個の自然数について二乗の和と和の二乗の差を求めよ.
----

高校数学の公式によれば
- 1^2 + 2^2 + ... + n^2=n*(n+1)(2n+1)/6
- 1+2+,,,+n=n*(n+1)/2
です。
- (1+2+,,,+n)^2=(n*(n+1)/2)^2ですので

よって答えは
ans=(n*(n+1)/2)^2-n*(n+1)(2n+1)/6
n=100を代入して
ans=5050^2-100*101*201/6
ですが計算量も小さいので単純に足し合わせてもよいでしょう。


1^2 + 2^2 + ... + n^2=n*(n+1)(2n+1)/6に関する資料
http://www.geocities.jp/phaosmath/int1/sum_sq.htm