Liệt kê dãy nhị phân cụm "01" xuất hiện đúng 2 lần - Bài Tập Pascal Tổng Hợp

Liệt kê dãy nhị phân cụm "01" xuất hiện đúng 2 lần

Đề bài: Hãy liệt kê dãy nhị phân độ dài n mà trong đó cụm "01" xuất hiện đúng 2 lần.

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.
Previous
Next Post »