首先,这是一个家庭作业问题,所以请给我一个提示!
%Here is a rule that defines sum/3 that returns yes if Z is sum of X and Y
sum(X,Y,Z) :-
Z is X + Y.
%How can I make product/3
product(X,Y,Z) :- % based on sum/3 above?
另外,如何在产品上写一个查询,使其返回X * Y的答案,而不仅仅是真的?
答案 0 :(得分:2)
在数学中考虑一下:
x * 0 = 0
x * y = x + x * (y - 1)
这应该可以帮助你编写规则。
对于查询,您可以使用类似这样的结果:
?- product(5, 3, Result).
Result = 15 ?
yes
简而言之,如果查询中有未绑定的变量,它会尝试查找该变量的值,以使谓词成功。