Prolog 递归溢出
fact(1,1):-!. fact(N,F):- N1=N-1, fact(N1,F1), F=F1*N. 它会导致 stackoverflow(不是网站)!不应该是因为剪切(!)。它在 SWI-Prolog 中工作吗…
在 Prolog 中解析而不进行剪切?
我发现了这个在 Prolog 中解析 lisp 的好片段(来自此处): ws --> [W], { code_type(W, space) }, ws. ws --> []. parse(String, Expr) :- phrase(e…
Prolog——在特殊情况下消除重复答案的更好方法?
我在处理这两行时遇到了麻烦: list_swizzle(L, [], L). list_swizzle([], L, L). 问题是,如果前两个参数都是空列表,则前两个语句都将被使用,返回…
prolog cut 需要建议吗?
在这个任务中,我有一个 Prolog 数据库,其中包含例如 边缘(1,0) 边缘(2,0) edge(1,3) 边缘表示两个点相连。 我被要求编写一个名为reach(i,j,k)的函数…
Prolog 中递归谓词末尾的剪切
pred(Args). pred(Args) :- goalA, goalB, !, pred(Args). pred(Args) :- goalC, goalD, !, pred(Args). 通常我会编写一个与内存性能相关的递归谓词,…
- 共 1 页
- 1