19 lines
438 B
ObjectPascal
19 lines
438 B
ObjectPascal
// Все перестановки
|
||
const n = 4;
|
||
|
||
procedure Perm(a: array of integer; 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(a,m-1);
|
||
Swap(a[i],a[m-1]);
|
||
end;
|
||
end;
|
||
|
||
begin
|
||
var a := Range(1,n).ToArray; // заполнение массива a числами от 1 до n
|
||
Perm(a,n);
|
||
end. |