问题标签 [failure-slice]

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 投票
3 回答
649 浏览

prolog - 如何阻止prolog无限地检查不可能的解决方案?

假设以下程序:

它非常适合添加两个数字,但是当我尝试以下排序的查询时:

Z在很明显没有解决方案(即Z>s(0))之后,它会继续搜索可能的值很长时间

我熟悉 cut( !) 运算符,我的直觉说解决方案与它有关,我只是不确定在这种情况下如何使用它。

0 投票
2 回答
276 浏览

prolog - 在序言中,为什么不添加“edge(X,Y):-edge(Y,X)”。单独用于将有向图定义转换为无向图

我只是在学习 Prolog,我正在复习讲义,所有的笔记都说:

给定有向图的以下定义:

如果我们想让它成为一个无向图, edge(X, Y) :- edge(Y, X).单独定义是行不通的,我不知道为什么。如果 Y 到 X 有边,则 X 到 Y 有边。对我来说似乎很有意义。

注释并没有真正说明为什么不这样做,但它确实定义了正确的解决方案是:

到我们已经拥有的。

谁能给我解释一下,谢谢?<3

0 投票
2 回答
677 浏览

prolog - 查找相邻成员

我必须找出列表的两个成员是否相邻。限制是使用append/3谓词。到目前为止,我已经完成了以下操作,如果它是真的,它会起作用,否则我没有得到任何答案,就像它永远运行一样。

0 投票
3 回答
172 浏览

list - 在 Prolog 中创建带圆圈的列表

我正在尝试在 Prolog 中创建此功能:

所以我这样做了:

但输出是这样的:

这很好,但我想在我第一次做所有的可能性后让它停下来。

我能做些什么?

0 投票
2 回答
2780 浏览

prolog - Prolog - 将列表的所有数字增加 1

我试过这个

我知道这是错的,你能帮帮我吗?谢谢

0 投票
1 回答
228 浏览

prolog - Prolog - N-Queens 测验 - 无限循环

这是关于八皇后问题的。我正在尝试解决更通用的 N-Queens 问题。

目标是让这条规则向我展示所有可能的答案。例如:

我设法得到了所有正确的答案,但由于某种原因,我的代码在最后一个解决方案之后进入了无限循环。

这是我到目前为止所写的:

这是我用于解决方案的范围规则(它是正确的):

我知道这可能不是最好的解决方案,但我可以使用一些帮助来了解这里出了什么问题。

0 投票
1 回答
839 浏览

prolog - 在Prolog中将列表向左移动N次

我试图在 Prolog 中建立一个向左移动的关系(shiftL(L1,N,L2)旋转),结果是,所以例如是真的。L1NL2shiftL([1,2,3], 2, [3,1,2])

我尝试了以下方法:

它工作得很好,但是在给我结果之后它总是继续做其他事情,我得到一个堆栈溢出:

我不知道是什么原因造成的。我以为我用第二行和N=\=1语句覆盖了基本情况。

提前感谢您的帮助!

0 投票
4 回答
1271 浏览

prolog - 收集物品并统计出现次数

我正在尝试编写一个递归规则collCount/2,它将列表中的相同项目及其各自的出现次数分组到元组中。

例如,与collCount([a,b,a,b,c,b],F)绑定。运行此查询时,Prolog 仅返回.F[(a,2),(b,3),(c,1)]no

以下是我到目前为止所做的事情:

谓词countDel/4计算并删除列表中特定项目的所有出现。例如,将 L与和countDel(2,[1,2,3,2,2],L,N)绑定。[1,3]N3

谓词occur/3计算列表中特定项目的所有出现次数。例如,与occur(3,[1,2,3,4,3],Num)绑定。Num2

谓词delAll/3删除列表中特定项目的所有出现。例如,与delAll(3,[1,2,3,4,3],L)绑定。L[1,2,4]

任何帮助是极大的赞赏。

0 投票
3 回答
285 浏览

prolog - 收集二叉树中所有 2 次幂的元素

我无法让以下工作。这是我到目前为止得到的:

0 投票
3 回答
134 浏览

list - Prolog二进制列表问题

我正在使用 Prolog 中的二叉树程序。我遇到的具体问题是遍历。这是我所拥有的:

我一直在查询它:

所以输出应该是:

但是当我运行它时,它只会返回 false。我相当确定问题出在我对 append/3 的使用上,但我根本无法解决。如果有人可以提供帮助,将不胜感激