小编Vei*_*ins的帖子

解释为什么 append/3 在这些情况下会产生无限数量的解决方案

我无法理解有关 Prolog 的这个问题。问题如下:

选择以下所有具有无限数量解决方案的目标。

以下是可能的答案:

append([a,b,c,d], Y, Z)
append(X, Y, X)
append(X, [a,b,c,d], Z)
append(X, Y, [a,b,c,d])
Run Code Online (Sandbox Code Playgroud)

显然,正确答案是2和3,但我不知道为什么1不是也是正确的-不会有对无限的可能性Z,因此也Y?另外,为什么 2 是正确的,因为第一个参数和第三个参数(“结果”)是相同的?听起来Y可能只是[]。

非常感谢!

list append prolog infinite

5
推荐指数
1
解决办法
127
查看次数

标签 统计

append ×1

infinite ×1

list ×1

prolog ×1