プロジェクトオイラー問20

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2020
Problem 20 「階乗の数字和」 †
100!の各桁の和を求めよ。



100!を求めて各桁を足し算するだけ。

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).
最終更新:2014年11月16日 11:12