我无法理解有关 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可能只是[]。
非常感谢!