В основном у меня есть пара предикат (Z, X, Y)Генерация перестановок X и Y в Прологе
Вы хотите вывести все пары X и Y от 0 до Z
Например, я хочу вызов выглядеть
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)
...
Я новичок в Прологе, так что я не уверен, как заполнить в районах с eparated по ... То, что я думаю, что я должен сделать, это сказать что-то вдоль линий (В psuedocode) «Если Y2 = S, то говорят Х X1 + 1 и Y = 0»
Или что-то вдоль тех, нравится. Но это похоже на очень окольный способ делать что-то. Поэтому мне было интересно, есть ли более элегантный способ.