「プロジェクトオイラー問29」の編集履歴(バックアップ)一覧はこちら
「プロジェクトオイラー問29」(2014/02/14 (金) 09:06:10) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2029
*Problem 29 「個別のべき乗」 †
a^bで
2<=a,b<=100を考えるとき重複を排除すると何通りの数が作れるか?
解法
とりあえずプルートゥーズな方法で実装してみました。
全部求めて重複削除、それだけです。
calc(C):-
between(2,100,A),
between(2,100,B),
C is A^B.
main29:-
findall(PowAB,calc(PowAB),PowABs),
list_to_set(PowABs,PowABs1),
length(PowABs1,Ans),
write(Ans).