thieumao

Liệt kê hết các hoán vị của chữ số - đệ qui quay lui

Sep 14th, 2013
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.55 KB | None | 0 0
  1. uses crt;
  2. Var
  3.   a,x:array[1..8] of integer;
  4.   i,n,m:integer;
  5.  
  6. procedure print;
  7. var j:integer;
  8. begin
  9.   n:=n+1;
  10.   write('Cach ',n,': ');
  11.   for j:=1 to m do
  12.    begin
  13.      write(x[j]);
  14.    end;
  15.   writeln;
  16.   if (n mod 10 = 0) then readln;
  17. end;
  18.  
  19. procedure try(i:integer);
  20. var j:integer;
  21.  begin
  22.   if i>m then print else
  23.   for j:=1 to m do
  24.    if (a[j]=0) then
  25.     begin
  26.      x[i]:=j;
  27.      a[j]:=1;
  28.      try(i+1);
  29.      a[j]:=0;
  30.     end;
  31.   end;
  32.  
  33. begin
  34. clrscr;
  35. repeat
  36. write('m= ');
  37. readln(m);
  38. until (m>0) and (m<9);
  39. try(1);
  40. readln;
  41. end.
Advertisement
Add Comment
Please, Sign In to add comment