在prolog中,参数目标是:介于+;各位议员,怎样做?

在prolog中,参数目标是:介于+;各位议员,怎样做?,prolog,Prolog,我必须制作一个prolog程序,我必须找到所有满足这些条件的组合: 。。。代码。。。函数(…,列表), findall(条款,目标,C) 其中目标=(介于(1,N,X)和成员(X,List)之间) 我不知道怎么做 如果有人知道怎么做的话,巴格夫也可以这样做。我发现了我的错误,我不得不把两个目标放在括号内: findall(从句,(goal,goal2),C)只要把你的目标放在你说的地方,即:findall(X,(在(1,N,X)之间),成员(X,List)),C)。这将使C与列表中包含的介于1和

我必须制作一个prolog程序,我必须找到所有满足这些条件的组合:

。。。代码。。。函数(…,列表), findall(条款,目标,C) 其中目标=(介于(1,N,X)和成员(X,List)之间)

我不知道怎么做


如果有人知道怎么做的话,巴格夫也可以这样做。

我发现了我的错误,我不得不把两个目标放在括号内:


findall(从句,(goal,goal2),C)

只要把你的目标放在你说的地方,即:
findall(X,(在(1,N,X)之间),成员(X,List)),C)
。这将使C与列表中包含的介于1和N之间的数字列表相统一。它是否相同:findall(x-A-AS,(介于(1,NA,A),member(A,L))而不是:bagof(x-A-AS,介于(1,NA,A)^ member(A,L),C)你发布的@gusbooth结构对我来说毫无意义。检查
findall/3
bagof/3
@DanielRocaLopez的文档:如果没有解决方案,情况就不一样了-例如
L=[]
findall/3
会找到
[]
,但是
bagof/3
会失败