Cần sửa lỗi bài toán liệt kê dãy nhị phân có số lượng số 0 bằng số lượng số 1

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.
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?