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

プロジェクトオイラー問20」(2014/02/13 (木) 17:14:03) の最新版変更点

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

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

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2020 *Problem 20 「階乗の数字和」 † n × (n - 1) × ... × 3 × 2 × 1 を n! と表す. 例えば, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 となる. この数の各桁の合計は 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 である. では, 100! の各桁の数字の和を求めよ. 解法 そのまま階乗を計算して、各桁の和をketaSumで取り出す。 何も工夫してません。 fact(0,1):-!. fact(N,Result):- N1 is N-1, fact(N1,Re), Result is Re*N. ketaSum(0,0):-!. ketaSum(Num,Result):- Num1 is Num//10, Add is Num mod 10, ketaSum(Num1,Re), Result is Re+Add. main20:- fact(100,Num), ketaSum(Num,Ans), write(Ans).

表示オプション

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