Как сгенерировать вывод со списком перестановок множества в прологе? - PullRequest
0 голосов
/ 22 апреля 2020

Код:

del( A, [A|B], B ).
del( A, [B|C], [B|D] ) :-
    del( A, C, D ).

same_set( [], [] ).
same_set( A, [B|C] ) :-
    del( B, A, D ), 
    same_set( D, C).

Токовый выход:

?- mesmo_conjunto([1,a,3], Xs).
Xs = [1, a, 3] ;
Xs = [1, 3, a] ;
Xs = [a, 1, 3] ;
Xs = [a, 3, 1] ;
Xs = [3, 1, a] ;
Xs = [3, a, 1] ;
false.

Что необходимо изменить в коде, чтобы он имел выход ниже?

Ожидаемый выход:

Xs=[[1,a,3],[1,3,a],[a,1,3],[a,3,1],[3,a,1],[3,1,a]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...