Я пытаюсь запрограммировать Matlab для перечисления всех перестановок чисел с 1 по n в лексикографическом порядке. То, что я до сих пор, ниже. Я использую рекурсию, чтобы попытаться написать программу, которая сначала будет работать для n = 3, а затем посмотреть, могу ли я получить представление о написании программы для любого n. Пока у меня есть 2 из 6 столбцов для n = 3: P=[1 2 3;1 3 2]
. Мне нужны следующие два столбца, чтобы просто поменять их и два. Я не знаю, как начать это делать.Список всех перестановок чисел 1, ..., n в лексикографическом порядке
function [P] = shoes(n)
if n == 1
P = 1;
elseif n == 2
P = [1 2; 2 1];
else
T = shoes(n-1) + 1;
G = ones(factorial(n-1),1);
P(1:2,1:3) = [G T];
end
домашнее задание? –
Пожалуйста, отметьте домашние вопросы с тегом «домашняя работа». Благодарю. –
Буду рад. Можете ли вы сказать мне, как это сделать? – 2009-03-15 01:22:39