Prolog 中的幂函数
Prolog 中幂函数的定义正是如此。我写了这段代码,它给出了一些错误,我想知道幂函数的确切代码。
pow(X,0,1).
pow(X,Y,Z):-Y1=Y-1,pow(X,Y1,Z1),Z1=Z*X.
这段代码有什么问题吗?
Exactly what's the Prolog definition for power function. I wrote this code and it give some errors I wanna know exact code for the power function.
pow(X,0,1).
pow(X,Y,Z):-Y1=Y-1,pow(X,Y1,Z1),Z1=Z*X.
Anything wrong with this code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
代码有两个问题。
这是固定代码:
这是使用累加器的第二个尾递归版本
There are two problems with the code.
Here is the fixed code:
Here is a second, tail recursive version using an accumulator
看看这里 - prolog 中的幂函数。出于效率原因,内置的 pow 谓词没有在 prolog 中实现 - 与大多数算术谓词一样。
Have a look here - power function in prolog. The built-in pow predicate is not implemented in prolog for efficiency reason - as most arithmetic predicates.