我有一个小问题。我需要做一个从自然数到其他自然数的谓词。我也必须进行检查,第二个间隔大于第一个。然而,我在路上被卡住了。
这是我的代码(SWI-PROLOG)
count(O, _, O).
count(A, B, C) :- count(A, B, D), C is D+1, C =< B.
它工作得很好,C=1, C=2, C=3, C=4
如果我输入,我可以得到结果count(1, 4, C).
但是我最后卡住了,它会导致堆栈溢出错误。
问题是如何让它停止?我几乎尝试了一切。=(
感谢您的答复!