SWI-prolog 中的自然数递归过程
我的自然数的下一个过程是 SWI-prolog:
natural_number(0).
natural_number(s(X)) :- natural_number(X).
现在我想做一个递归调用,当我们到达 0 时停止。
我的自然数由 - s(0)=0, s(s (0))=1, s(s(s(0)))=2, 等等
所以我定义:
recommend(A, B, natural_number(0)) :-
dosomeFINITEfunction (a,b).
recommend(a,b,mynumber):-
dosomeFINITEfunction(a,b),
recommend (a,b, natural_number(mynumber)).
并调用: 3,5,s(0).
但它给了我错误:超出本地堆栈
。
问题是什么?谢谢。
I have the next procedure for natural number is SWI-prolog:
natural_number(0).
natural_number(s(X)) :- natural_number(X).
Now I want to do a recursive call, that stop when we arrive to 0.
My natural number is represented by - s(0)=0, s(s(0))=1, s(s(s(0)))=2, etc
So I define:
recommend(A, B, natural_number(0)) :-
dosomeFINITEfunction (a,b).
recommend(a,b,mynumber):-
dosomeFINITEfunction(a,b),
recommend (a,b, natural_number(mynumber)).
and call with: 3,5,s(0).
But it gives me the error: out of local stack
.
What is the problem? Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)