pascalabcnet/InstallerSamples/Algorithms/Recursion/Permutations.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

21 lines
362 B
ObjectPascal

// Âñå ïåðåñòàíîâêè
const n = 4;
var a: array of integer;
procedure Perm(m: integer);
begin
if m=1 then
a.Println;
for var i:=0 to m-1 do
begin
Swap(a[i],a[m-1]); // ñòàâèì êàæäûé íà ìåñòî ïîñëåäíåãî
Perm(m-1);
Swap(a[i],a[m-1]);
end;
end;
begin
a := Range(1,n).ToArray(); // çàïîëíåíèå ìàññèâà a ÷èñëàìè îò 1 äî n
Perm(n);
end.