var
i,n,ansa,ansb,a,b:integer;
begin
readln(n);
i:=1;
a:=0;
b:=0;
repeat
begin
ansa:=0;
ansb:=0;
repeat
if i<2 then begin
if i=1 then ansa:=ansa+1
else ansb:=ansb+1;
i:=0;
if ansa>ansb then a:=a+1
else b:=b+1;
end;
if i mod 2=1 then ansa:=ansa+1
else ansb:=ansb+1;
i:=i div 2;
unilt i=0;
i:=i+1
unilt i>n;
write(a,b:10);
end.
尚未验证,如有错误请追问
望采纳
var n,i,j,k,a,b:integer;
begin
write('n='); readln(n);
a:=0; b:=0; i:=1;
repeat
k:=i; j:=0;
repeat
if odd(k) then inc(j) else dec(j);
k:=k div 2;
until k=0;
if j>0 then inc(a) else inc(b);
inc(i);
until i=n;
writeln('A:',a,' B:',b)
end.