鉴于以下事实:
- 杰克比尼克聪明
- 尼克比韦斯聪明
- 韦斯比迪克聪明
编写一个递归程序,确定 Jake 的比 Dik 的聪明。
我的解决方案是:
smarter(jake, nik).
smarter(nik, wes).
smarter(wes, dik).
smarter(X, Y) :-
smarter(X, Z),
smarter(Z, Y).
输出:
?- smarter(jake, dik).
True
但是当我交换它时:
?- smarter(dik, jake)
输出将显示“错误:超出本地堆栈”我需要输出显示“假”。我如何解决它?
谢谢