CLPFDを使って解いた。こんなのでも結構時間かかっていて、CLPFD大丈夫か??と不安になった…
1 2 3 4 5 6 7 8 9 10 11 |
% 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 2 3 4 5 |
1 ?- time(solve). [XXX,XXX,XXX] % 69,890,740 inferences, 132.578 CPU in 134.625 seconds (98% CPU, 527166 Lips) true |