uses crt;
var s,n,j,i:integer;
a:Array[1..100] of integer;
{--------------------------}
Procedure print;
var j:integer;
begin
For j:=1 to n do write(a[j],' ');
writeln;
end;
{--------------------------}
Procedure Deq(i:integer);
var j,k,d:integer;
begin
For j:=0 to 1 do
begin
d:=0;
a[i]:=j;
if i=n then
For k:=1 to n do
begin
if (a[k]=0) and (a[k+1]=1) then inc(d);
if d=2 then print
end
else Deq(i+1);
end;
end;
{--------------------------}
Begin
clrscr;
write('Nhap n= ');readln(n);
Deq(1);
readln
end.

code có vấn đề các dãy nhị phân in ra lặp lại nhìu lần
lúc 08:53 20 tháng 1, 2013
lập trình chưa được tối ưu lắm! vẫn còn không hay lắm!
sao bạn không dùng 1 mảng 1 chiều xét xem ở vị trí i đó đã có mấy cái 01 rồi!
nếu bé hơn 2 thì làm tiếp!
còn lớn hơn 2 thì sẽ có điều kiện là nếu a[i] = 0 thì a[i+1] <> 0
lúc 22:32 16 tháng 3, 2013
Đăng nhận xét