Trang chủ Tin Học Lớp 8 Mình cần gaasppppp Viết đoạn chương trình liệt kê tăng...

Mình cần gaasppppp Viết đoạn chương trình liệt kê tăng dần theo thứ tự từ điển các hoán vị của các số từ 1 ... N: input : tệp văn bản HOANVI.INP chứa số n,1&l

Câu hỏi :

Mình cần gaasppppp Viết đoạn chương trình liệt kê tăng dần theo thứ tự từ điển các hoán vị của các số từ 1 ... N: input : tệp văn bản HOANVI.INP chứa số n,1<N<9 output : tệp văn bản HOANVI.OUT, mỗi dòng là 1 hoán vị

Lời giải 1 :

var n:byte;
    a:array[1..9] of byte;
    duyet:array[1..9] of boolean;
    f:text;
procedure xuat;
      var j:byte;
begin
  for j:=1 to n do write(f,a[j],' ');writeln(f);
end;
procedure try(i:byte);
      var ii:byte;
begin
  if i<=n then
    begin
      for ii:=1 to n do
        if duyet[ii]=true then
          begin
             a[i]:=ii;
             duyet[ii]:=false;
             try(i+1);
             duyet[ii]:=true;
          end;
    end
   else xuat;
end;
begin
   assign(f,'HOANVI.INP');reset(f);
   readln(f,n);
   close(f);
   assign(f,'HOANVI.OUT');rewrite(f);
   fillchar(duyet,sizeof(duyet),true);
   try(1);
   close(f);
end.

Thảo luận

Lời giải 2 :

const fi='HOANVI.INP';
    fo='HOANVI.OUT';
var n:byte;
    x:array[1..9]of longint;
    f:array[1..9]of boolean;
procedure print;
var j:byte;
begin
    for j:=1 to n do write(x[j]);writeln;
end;
procedure try(i:byte);
var j:byte;
begin
    for j:=1 to n do
        if f[j]=true then
            begin
                x[i]:=j;
                if i=n then print
                else
                    begin
                        f[j]:=false;
                        try(i+1);
                        f[j]:=true;
                    end;
            end;
end;
begin
    assign(input,fi);reset(input);
    assign(output,fo);rewrite(output);
        readln(n);
        fillchar(f,sizeof(f),true);
        try(1);
    close(output);
    close(input)
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK