具有树的prolog中的lambda(会计)或阶乘

时间:2012-01-04 18:07:27

标签: prolog

我有这个测试,我的老师将在prolog及其树中使用这些主题之一。 但我不知道如何用prolog实现它们(因为我甚至不懂语言)。 我发现了类似的东西

这只是一个例子:

下图显示了目标的完整Prolog推导树?-p(X)。

and the tree of goal

正如我所说,这只是prolog树的一个例​​子,我需要的是lambda或factorial如何在prolog及其树中。

p.s:这是terrence w pratt(编程语言设计和实现)的作业之一

在prolog我们有条款,规则,目标和解决方案,对于我如何得到这些因素?

2 个答案:

答案 0 :(得分:0)

http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch3 - 这应该有助于推理。

记住factorial是递归,所以在java中,它会是这样的:

public int factorial (int x){
 if (x != 0){
  return x* factorial(x-1);
 }
 else {
  return 1;
 }
}  

答案 1 :(得分:-1)

我认为你正在寻找代码的错误位置" factorial"或" lambda"在Prolog。谷歌是值得关注的地方。我花了不到5分钟的时间在Google上找到了factorial和lambda的代码。 我试图在这里发布代码,但它说"代码格式不正确 - 请将所有代码缩进4个空格",所以我放弃了。