【发布时间】:2014-12-08 05:43:38
【问题描述】:
基本上我有一个谓词对(Z,X,Y)
我想输出从 0 到 Z 的所有 X 和 Y 对
例如,我希望电话看起来像
pair(3,X,Y).
X=0
Y=0;
X=0
Y=1;
X=0
Y=2;
X=0
Y=3;
X=1
Y=0;
X=1
Y=1;
...
X=3
Y=3;
目前为止
pair(_,0,0).
pair(Z,X,Y) :-
...
pair(S,X2,Y2)
...
我是 Prolog 的新手,所以我不确定如何填写由 ... 分隔的区域 我认为我应该做的是说一些类似的东西 (在伪代码中) "如果 Y2 = S 那么说 X 是 X1 + 1 并且 Y 是 0"
或者类似的东西。 但这似乎是一种非常迂回的做事方式。所以我想知道是否有更优雅的方式。
【问题讨论】:
标签: prolog permutation