讨论 / 本人的复杂方法
xy_mouse 2008-06-10 20:15:00
点我顶贴 收藏 删除
var

bool:array[0..50]of boolean;

a,n,i,x:longint;

begin

readln(n);

for i:=1 to n do

begin

readln(a);

fillchar(bool,sizeof(bool),false);

if a<=0 then writeln(None)else

begin

x:=0;

repeat

if a mod 2=1 then

begin

a:=a-1;

bool[x]:=true;

end

else

begin

inc(x);

a:=a div 2;

end;

until a=0;

if x>25 then writeln(None)else

begin

while not(bool[x])do dec(x);

for j:=0 to x-1 do if bool[j] then write(chr(65+j), );

writeln(chr(x+65));

end;

end;

end;

end.

查看更多回复
提交回复