. , " ", , "" .
transpose([[ ]|_],[ ]) :- !.
transpose(A,[H|T]) :-
decap_List(A,H,B),
transpose(B,T).
decap_List([ ],[ ],[ ]).
decap_List([[H|T]|Rows],[H|Hs],[T|Ts]) :-
decap_List(Rows,Hs,Ts).
:
?- transpose([[1,2,3],[4,5,6],[7,8,9]],X).
X = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
, , K²xK² " " "" KxK, . , , "" .
"" .
part_K_rows([ ],_,[ ]) :- !.
part_K_rows(A,K,[H|T]) :-
get_K_rows(A,K,H,B),
part_K_rows(B,K,T).
get_K_rows(A,0,[ ],A) :- !.
get_K_rows([H|T],K,[H|Z],B),
J is K-1,
get_K_rows(T,J,Z,B).
part_K_rows/3 sudoku, part_K_rows/3 "box".