Viết chương trình in ra màn hình tất cả các hoán vị của n số nguyên dương đầu tiên . Số nguyên dương n nhập từ bàn phím

Viết chương trình in ra màn hình tất cả các hoán vị của n số nguyên dương đầu tiên . Số nguyên dương n nhập từ bàn phím

0 bình luận về “Viết chương trình in ra màn hình tất cả các hoán vị của n số nguyên dương đầu tiên . Số nguyên dương n nhập từ bàn phím”

  1. uses crt;
    const maxn=10;
    var a: array[1..maxn] of integer;
          n,m: integer;
          sn: longint;
    procedure init;
    var i: integer;
          begin
              write(‘Nhap so N=’);readln(n);
              for i:=1 to n do a[i]:=i;
          end;
    procedure swap( var x,y: integer);
    var z: integer;
          begin

              z:=x; x:=y; y:=z;
          end;
    procedure print;
    var i: integer;
          begin
              sn:=sn+1;
              for i:=1 to n do write(a[i]);
              writeln;
          end;
    procedure hv(k: integer);
    var j: integer;
          begin
              if k=1 then print
              else for j:=k downto 1 do
                    begin
                        swap(a[k],a[j]);
                        hv(k-1);
                        swap(a[k],a[j]);
                    end;
          end;
    BEGIN
              clrscr;
              sn:=0;
              init;
              hv(n);
              if sn<>0 then
              writeln(‘Co tat ca’,sn,’ hoan vi cua ‘,n,’  so’)
              else writeln(‘Vo nghiem’);
              readln;

    END.

    Bình luận

Viết một bình luận