序言置换函数(prolog permutation function)

2019-09-16 20:01发布

我在序言是新。 我知道排列的递归函数,即:

per([],[]).
per(L, [X|P]) :- del(X,L,L1),per(L1,P).

我想知道这个功能的逻辑树的最后一次迭代,当我们收到per([],[])这件回来。

Answer 1:

索尼娅 - 你有没有给我们的“Del”谓词所以我们不能运行它,并告诉你。

你知道有一个“追踪”谓词转储出每一步/决策点/走回头路?

做就是了:

trace.
per([a,b], X).

然后按Enter键,直到你看到序言比赛递归的基础([],[]),然后继续按Enter键观看它完成任务。

如果在任何时候你想看到显示为点结束生成缩写列表(即列表[..],然后按“W” - 写倾倒了整个列表内容。

然后最后,这样做:

notrace.

要关闭。

然后,如果您有关于跟踪的具体问题,建议增加在缺少谓语,并显示你周围有问题的部分痕迹。



文章来源: prolog permutation function
标签: prolog