【发布时间】:2016-09-28 12:37:44
【问题描述】:
这是两个输入的加法代码(就像我们想要 Z 中的结果,如果 X+1 加 Y 有 Z+1 的结果)。
natural_number(0).
natural_number(s(X)) :- natural_number(X).
pl(0,X,X) :- natural_number(X).
pl(s(X),Y,s(Z)) :- pl(X,Y,Z).
但我想知道我们可以将类似的代码用于 3 个组件,例如
pl(s(0),s(s(0)),s(s(s(0))),W)
and got a result W = s(s(s(s(s(s(0))))))
提前谢谢你。
【问题讨论】:
-
将第一个添加到第二个,然后将结果添加到第三个?
-
请参阅this answer 了解终止原因的一般方法。
标签: prolog successor-arithmetics