Đọc từ tệp BINARY.INP số nguyên dương n (0<n<10000). In vào tệp BINARY.OUT tất cả các dãy nhị phân có độ dài n, mỗi dãy một dòng. Vd: n=3 000 001 010 011 100 101 110 111
2 câu trả lời
const
Inp = 'BINARY.INP';
Outp = 'BINARY.OUT';
var
a: array[1..10000] of byte;
n: word;
f: Text;
procedure Print;
var
i: word;
begin
for i := 1 to n do Write(f, a[i]);
WriteLn(f);
end;
procedure Try(i: word);
var
j: word;
begin
for j:=0 to 1 do
begin
a[i]:=j;
if i=n then Print
else Try(i+1);
end;
end;
begin
Assign(f, Inp); Reset(f);
ReadLn(f, n); Close(f);
Assign(f, Outp); Rewrite(f);
Try(1); Close(f);
end.
*Dùng đệ quy.
uses crt;
var f:text; n:longint;
b:array[1..10000]of longint;
procedure print;
var i:longint;
begin
for i:=1 to n do write(f,b[i]);
writeln(f);
end;
function dequy(a:longint):longint;
var i:longint;
begin
if a=n+1 then print else
for i:=0 to 1 Do
begin
b[a]:=i;
dequy(a+1);
end;
end;
begin
clrscr;
assign(f,'BINARY.INP');reset(f);
readln(f,n);
close(f);
assign(f,'BINARY.OUT');rewrite(f);
dequy(1);
close(f);
end.