PROLOG - 检查位置是否正确
我有一个 3*3 网格的拼图,其中包含数字 1-8,还有一个可以移动的空白点 (0)。这是谜题的最终状态: 1 2 3 8 0 4 7 6 5 通过水平阅读,整个“状态”由…
在 Prolog 中检索给定区间内的所有数字
我是 Prolog 世界的新手,我想编写一条返回特定范围内的所有元素的规则。 我打算做类似的事情 ,例如: foo(X, Low, High) :- X > Low, X < High. 当…
Prolog 递归溢出
fact(1,1):-!. fact(N,F):- N1=N-1, fact(N1,F1), F=F1*N. 它会导致 stackoverflow(不是网站)!不应该是因为剪切(!)。它在 SWI-Prolog 中工作吗…
prolog 列出了 fd_all_ Different 和 is_set 哪个更快?
我只是想知道你们中是否有人知道什么更快, L=[1,2,3,4,5], all_different(L). % needs use_module(library(clpfd)). 或者 L=[1,2,3,4,5], is_set(L).…
列表域和标签的序言列表
L=[[X,Y,Z],[1,A,B],[2,C,D]],L ins 1..3,all_ different(L),标签(L)。 我只想用值填充列表列表中的变量。有没有比 get_element_at(L,1) 等更简单…
如何写好谓词(not Between)
我编写代码如下 testb :- X::1..10, V1 = 3, V2 = 6, testbb(X,V1,V2), writeln(X). testbb(X,V1,V2) :- ( count(I,V1,V2),param(X,V1,V2) do X#\=I )…
Prolog 中的迷你数独求解器中途停止
我正在学习《七周七种语言》,我只是想从书中找到一个例子。它解决迷你数独网格 (4x4)。 作者使用的是 gprolog,但我使用的是 swi-prolog(无论出于何…
SWI-Prolog 中的约束编程库或语法问题
我只是想弄清楚 SWI-Prolog 中的约束编程,请查看本教程: http:// /en.wikibooks.org/wiki/Prolog/Constraint_Logic_Programming 然而,我似乎在第一…
序言,测试(X,Y,Z):- Y 是 X + Z
当我只知道X时,如何在序言中得到Y和Z? 例如: test(X, Y, Z) :- X is Y + Z. 但是错误: ?- test(2, Y, Z). ERROR: is/2: Arguments are not suffic…
在 prolog 中将浮点数转换为整数
如何在prolog中将浮点数转换为整数? 我试过: ?- integer(truncate(sqrt(9))). false. ?- integer(round(sqrt(9))). false. …
序言;尝试让斐波那契更有效?
这种逻辑编程确实让我的命令式编程技能大为提高。这是家庭作业,所以请不要给我答案。这就是我所拥有的: fibo(N,1) :- N < 2, !. fibo(N,R) :- N1 is…
Prolog 中的简单 nth1 谓词
在 SWI Prolog 中,有一个谓词可以查找名为 nth1 的列表中的第 n 个项目。我想实现我自己的谓词版本,但如果您查看清单(nth1)代码,SWI 的版本会非…