我是Prolog的新手。我需要寫一個整數加法器,將0-9之間的數字添加到其他數字0-9,併產生一個解決方案0-18。這就是我想做的事:Prolog初學者:如何統一算術比較運算符或如何獲得一組var到數值範圍
% pseudo code
add(in1, in2, out) :-
in1 < 10,
in2 < 10,
out < 18.
我希望能夠調用它像這樣:
要檢查它是否是一個有效的加法:
?- add(1,2,3).
true.
?- add(1,2,4).
false.
隨着一人失蹤變量:
?- add(X,2,3).
X = 1.
?- add(1,4,X).
X = 5.
使用多個缺少變量:
?- add(X,Y,Z).
% Some output that would make sense. Some examples could be:
X=1, Y=1, Z=2 ;
X=2, Y=1, Z=3 ......
我意識到這可能是一個相當簡單的問題,它可能是非常簡單的。然而,根據該Prolog tutorial我使用:
「不同於統一算術比較運算符運營商不能使用,得到的值到一個變量時在每一側的每個術語已經被實例化的只能進行評估。」。
是的,這不工作,因爲你在你的答案中描述。 – sixtyfootersdude 2010-06-05 20:35:38