Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.66 KB | None | 0 0
  1. const
  2.   n = 5;{ количество элементов в перестановке}
  3.  
  4. var
  5.   a: array[1..n] of integer;
  6.   index: integer;
  7.  
  8. procedure generate(l, r: integer);
  9. var
  10.   i, v: integer;
  11. begin
  12.   if (l = r) then
  13.   begin
  14.     for i := 1 to n do write(a[i], ' ');
  15.     writeln;
  16.   end
  17.   else
  18.   begin
  19.     for i := l to r do
  20.     begin
  21.       v := a[l]; a[l] := a[i]; a[i] := v; {обмен a[i],a[j]}
  22.       generate(l + 1, r);              {вызов новой генерации}
  23.       v := a[l]; a[l] := a[i]; a[i] := v; {обмен a[i],a[j]}
  24.     end;
  25.   end;
  26. end;
  27.  
  28. begin
  29.   for index := 1 to N do A[index] := index;
  30.   generate( 1, n );
  31. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement