Problem 9 特別なピタゴラス数

プロジェクトオイラーをPrologで解く

問題

CLPFDを使って解いた。こんなのでも結構時間かかっていて、CLPFD大丈夫か??と不安になった…


% problem 9

:-use_module(library(clpfd)).

solve:-
[A,B,C] ins 1..1000,
A + B + C #= 1000,
A #< B, B #< C,
A * A + B * B #= C * C,
label([A,B,C]),
write([A,B,C]).

実行結果:
1 ?- time(solve).
[XXX,XXX,XXX]
% 69,890,740 inferences, 132.578 CPU in 134.625 seconds (98% CPU, 527166 Lips)
true

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>