当尝试使用一个简单的程序来查找乘以 100 的数字时,我可以检查设置值,例如prod_hundred(2, 50)
,但是如果我想找到一个值prod_hundred(4, X)
,我会得到:
Arguments are not sufficiently instantiated
In:
[1] 4*_1680=:=100
我知道这是因为我不能使用 '=:=' 来评估未知数,但使用 == 它只是比较"2*50"
,"100"
而不是评估2*50
代码:
prod_hundred(X, Y) :- X*Y =:= 100.
?- prod_hundred(4, X).
Arguments are not sufficiently instantiated
In:
[1] 2*_1680=:=100