「プロジェクトオイラー問16」の編集履歴(バックアップ)一覧はこちら
「プロジェクトオイラー問16」(2014/02/13 (木) 14:57:34) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
Problem 16 「累乗の各桁の和」 †
2^15 = 32768 であり, これの各桁の和は 3 + 2 + 7 + 6 + 8 = 26 となる.
同様にして, 2^1000 の各桁の和を求めよ.
解法
2^1000を計算して各桁の和をとるだけです。
何か賢い方法はあるのでしょうか?
calc(0,0):-!.
calc(X,Result):-
Add is X mod 10,
X1 is X//10,
calc(X1,Re),
Result is Re+Add.
main16:-
X is 2^1000,
calc(X,Ans),
write(Ans).
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2016
*Problem 16 「累乗の各桁の和」 †
2^15 = 32768 であり, これの各桁の和は 3 + 2 + 7 + 6 + 8 = 26 となる.
同様にして, 2^1000 の各桁の和を求めよ.
解法
2^1000を計算して各桁の和をとるだけです。
何か賢い方法はあるのでしょうか?
calc(0,0):-!.
calc(X,Result):-
Add is X mod 10,
X1 is X//10,
calc(X1,Re),
Result is Re+Add.
main16:-
X is 2^1000,
calc(X,Ans),
write(Ans).