Chào mọi người em cần sửa lỗi cho thuật toán bài toán về Liệt kê dãy nhị phân có số lượng số 0 bằng số lượng số 1.
var
a:array[1..30] of longint;
n:longint;
procedure xuli();
var j,p:longint;
begin
p:=0;
for j:=1 to n do
if (a[j]+a[j+1]=n/2)
begin
p:=1;
break;
end;
if p=1 then
for j:=1 to n do write(a[j],#32);
writeln();
end;
procedure thu( i:longint);
var j:longint;
begin
for j:=0 to 1 do
begin
a[i]:=j;
if i=n then xuli()
else
thu(i+1);
end;
end;
begin
assign(input,'1.inp');reset(input);
assign(output,'1.out');rewrite(output);
readln(n);
thu(1);
close(input); close(output);
end.