问题标签 [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.
prolog - 如何阻止prolog无限地检查不可能的解决方案?
假设以下程序:
它非常适合添加两个数字,但是当我尝试以下排序的查询时:
Z
在很明显没有解决方案(即Z>s(0)
)之后,它会继续搜索可能的值很长时间
我熟悉 cut( !
) 运算符,我的直觉说解决方案与它有关,我只是不确定在这种情况下如何使用它。
prolog - 在序言中,为什么不添加“edge(X,Y):-edge(Y,X)”。单独用于将有向图定义转换为无向图
我只是在学习 Prolog,我正在复习讲义,所有的笔记都说:
给定有向图的以下定义:
如果我们想让它成为一个无向图,
edge(X, Y) :- edge(Y, X).
单独定义是行不通的,我不知道为什么。如果 Y 到 X 有边,则 X 到 Y 有边。对我来说似乎很有意义。
注释并没有真正说明为什么不这样做,但它确实定义了正确的解决方案是:
到我们已经拥有的。
谁能给我解释一下,谢谢?<3
prolog - 查找相邻成员
我必须找出列表的两个成员是否相邻。限制是使用append/3
谓词。到目前为止,我已经完成了以下操作,如果它是真的,它会起作用,否则我没有得到任何答案,就像它永远运行一样。
list - 在 Prolog 中创建带圆圈的列表
我正在尝试在 Prolog 中创建此功能:
所以我这样做了:
但输出是这样的:
这很好,但我想在我第一次做所有的可能性后让它停下来。
我能做些什么?
prolog - Prolog - 将列表的所有数字增加 1
我试过这个
我知道这是错的,你能帮帮我吗?谢谢
prolog - Prolog - N-Queens 测验 - 无限循环
这是关于八皇后问题的。我正在尝试解决更通用的 N-Queens 问题。
目标是让这条规则向我展示所有可能的答案。例如:
我设法得到了所有正确的答案,但由于某种原因,我的代码在最后一个解决方案之后进入了无限循环。
这是我到目前为止所写的:
这是我用于解决方案的范围规则(它是正确的):
我知道这可能不是最好的解决方案,但我可以使用一些帮助来了解这里出了什么问题。
prolog - 在Prolog中将列表向左移动N次
我试图在 Prolog 中建立一个向左移动的关系(shiftL(L1,N,L2)
旋转),结果是,所以例如是真的。L1
N
L2
shiftL([1,2,3], 2, [3,1,2])
我尝试了以下方法:
它工作得很好,但是在给我结果之后它总是继续做其他事情,我得到一个堆栈溢出:
我不知道是什么原因造成的。我以为我用第二行和N=\=1
语句覆盖了基本情况。
提前感谢您的帮助!
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]
N
3
谓词occur/3
计算列表中特定项目的所有出现次数。例如,与occur(3,[1,2,3,4,3],Num)
绑定。Num
2
谓词delAll/3
删除列表中特定项目的所有出现。例如,与delAll(3,[1,2,3,4,3],L)
绑定。L
[1,2,4]
任何帮助是极大的赞赏。
prolog - 收集二叉树中所有 2 次幂的元素
我无法让以下工作。这是我到目前为止得到的:
list - Prolog二进制列表问题
我正在使用 Prolog 中的二叉树程序。我遇到的具体问题是遍历。这是我所拥有的:
我一直在查询它:
所以输出应该是:
但是当我运行它时,它只会返回 false。我相当确定问题出在我对 append/3 的使用上,但我根本无法解决。如果有人可以提供帮助,将不胜感激