1~20の最小公倍数を求めているだけ
プログラム:
% problem 5 solve:- calc_lcm_all([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],Lcm), write(Lcm). % すべての数字の最小公倍数を取得 calc_lcm_all([],1):-!. calc_lcm_all([First|Rest],Lcm):- calc_lcm_all(Rest,LcmRest), lcm(First,LcmRest,Lcm). % 最小公倍数 lcm(N, M, Lcm) :- Gcd is gcd(N , M), Lcm is (N * M) // Gcd, !.
実行結果:
[2] 9 ?- time(solve). ***********************(解答伏せます)********************** % 79 inferences, 0.000 CPU in 0.000 seconds (?% CPU, Infinite Lips) true.
コメントを残す