「プロジェクトオイラー問6」の編集履歴(バックアップ)一覧はこちら

プロジェクトオイラー問6」(2014/02/12 (水) 15:49:09) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*Problem 6 「二乗和の差」 † 最初の10個の自然数について, その二乗の和は, 1^2 + 2^2 + ... + 10^2 = 385 最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)^2 = 3025 これらの数の差は 3025 - 385 = 2640 となる. 同様にして, 最初の100個の自然数について二乗の和と和の二乗の差を求めよ. 解法 数学の公式を使えば一行で答えが出ますが。 せっかくプログラム言語があるのだし逐次的に求めてみましょう。 再帰で足す数Nを1ずつ足す数を増加させながら2乗の和と普通の和を足して、最後に普通の和を2乗してその差分をとれば答えです。 calc(Stop,Stop,Sum1,Sum2,Ans):-!, Ans is Sum1*Sum1-Sum2. calc(N,Stop,Sum1,Sum2,Result):- Sum11 is Sum1+N, Sum22 is Sum2+N*N, N1 is N+1, calc(N1,Stop,Sum11,Sum22,Result). main6:-calc(1,101,0,0,Ans),write(Ans).

表示オプション

横に並べて表示:
変化行の前後のみ表示: