问题标签 [prolog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1385 浏览

prolog - 序言统一决议

为什么会这样:

这会产生堆栈溢出异常吗?

0 投票
1 回答
2088 浏览

tree - 如何在prolog中实现树算法的尾递归

如何将以下内容转换为尾递归版本。

由于分支的数量级为 2^n,因此维护单个累加器似乎是不可能的。

一个可能的解决方案是让累加器在每次迭代时将一个新的累加器添加到列表中。也许上述解决方案是最佳的?

提前致谢。

0 投票
4 回答
10236 浏览

list - Prolog列表差异例程

我正在尝试在 prolog 中实现列表差异例程。由于某种原因,以下失败:

尝试时:

我收到此错误:

0 投票
1 回答
19807 浏览

prolog - Prolog 是 vs = 带列表

为什么这会失败L is [1,2,3,4],这有效:L = [1,2,3]

但是L is 1L = 1两者的工作方式相同。

0 投票
3 回答
269 浏览

prolog - 将 X,Y 与 (1,2), (1,-2), (-1,2), (-1,-2), (2,1), (2,-1) 统一的优雅方法是什么, (-2,1), (-2,-1)?

将 X,Y 与 (1,2), (1,-2), (-1,2), (-1,-2), (2,1), (2,-1) 统一的优雅方法是什么, (-2,1), (-2,-1)?

这样做似乎容易出错且乏味:

而且这种方式似乎太贵了:

0 投票
1 回答
5343 浏览

list - 如何在 SWI-Prolog 中扩展结果列表?

如果我在长度谓词之后使用 write(L),则解释器会打印列表两次,一次展开,另一次不展开。

0 投票
1 回答
210 浏览

prolog - “is”函数的Prolog问题

我有一个我不明白的prolog问题。我已经使用跟踪器来跟踪问题,这就是发生的事情

呼叫“P 低”有什么问题?

0 投票
1 回答
1105 浏览

computer-science - 二叉树同构

我有一个任务要写,一组序言谓词确定任何两个二叉树是否彼此同构。谓词还必须能够为任何给定的二叉树提供所有同构图。

到目前为止,这是我所拥有的,除了返回重复项外,它都有效。

预期输出:

我的输出

显然这些都是重复的,我似乎找不到合适的位置来放置剪切,因此谓词不会返回重复项。我还尝试为只有一个叶子的节点和另一个节点编写另外两个谓词,但它们似乎没有帮助。

关于如何停止重复的任何建议?

0 投票
1 回答
2420 浏览

recursion - prolog中的尾递归和,功率,gcd?

我怎样才能做到这一点:

为以下每个谓词给出一个尾递归定义。
power(X,Y,Z): XY=Z。
gcd(X,Y,Z): X 和 Y 的最大公约数是 Z。
sum(L,Sum): Sum 是 L 中元素的总和。

到目前为止我已经这样做了,但不确定这是否正确

0 投票
3 回答
4075 浏览

prolog - 查找 1 到 100 之间的完美数字

如何生成 1 到 100 之间的所有完美数字?

完美数是一个正整数,等于它的真除数之和。例如,6(=1+2+3) 是一个完美数。