pascalabcnet/TestSuite/CompilationSamples/Permutations.pas

25 lines
409 B
ObjectPascal
Raw Permalink Normal View History

// Все перестановки
2015-05-14 22:35:07 +03:00
uses Arrays;
const n = 4;
var a: array of integer;
procedure Perm(m: integer);
begin
if m=1 then
a.Writeln;
for var i:=0 to m-1 do
begin
Swap(a[i],a[m-1]); // ставим каждый на место последнего
2015-05-14 22:35:07 +03:00
Perm(m-1);
Swap(a[i],a[m-1]);
end;
end;
begin
SetLength(a,n);
for var i:=0 to n-1 do
a[i] := i+1;
Perm(n);
end.