如何在prolog中生成四元组列表?

如何在prolog中生成四元组列表?,prolog,Prolog,1

1

?-findall([X,Y,S,P],(在(1100,X)之间,在(1100,Y)之间,1您可以对它进行一些优化:
在(2100,X)之间,X1是X+1,在(x1100,Y)之间,S是X+Y,
。意识到这“隐藏”一些限制进入术语中,而不是让它们变得可见/明确…@潜伏者:当然,但我认为让事情尽可能简单对新手来说可能重要…(顺便说一句,我也会使用CLP(FD))是的,我理解。我同意CLP(FD)这是我在评论中最初的建议,但猜测OP不想冒险进入该库。True@Lougler,我希望在不使用任何内置库的情况下(除了cut
)得到一些东西,这可能吗?
?- findall([X, Y, S, P], (between(1,100,X),between(1,100,Y),1<X,X<Y,S is X+Y,S=<100,P is X*Y),L).