0
Я могу создать список от 0 до N и перестановить его. Но как я могу сделать это в матрицу и перестановку каждой строки только от matrix(2,L)
.создать матрицу и перестановочить каждую строку
add(X,L,[X|L]).
add(X,[L|H],[L|R]):- add(X,H,R).
permut([],[]).
permut([L|H],R):- permut(H,R1),add(L,R1,R).
permutations(L,R):- findall(P,permut(L,P),R).
do_list(N, L) :- do_list1(N, [], L).
do_list1(0, L, L) :- !.
do_list1(N, R, L) :- N > 0,
N1 is N-1,
do_list1(N1, [N|R], L).
matrix(N,L):-
do_list(N,R),
permut(R,L).
Вы хотите создать N x N! где каждая строка является другой перестановкой одного и того же списка длины 'N'? – lurker
Да, я хочу создать матрицу N x N и перестановку каждой строки, пока она не станет латинской площадью – user2947488