讨论 / 水题(PASCAL AC100)PID124 隐藏的磁盘
Angel_Virus 2016-10-17 05:30:13
点我顶贴 收藏 删除
这题容易忽略的一点是:当a<0 或 a>=2^26时是NONE!接着只要转换a为2进制,再打印出即可。关于末尾空格,只需要一个布尔值f判断就行,记住每个数开始时要把数据回归。

var n,a,k,i,j:longint;

r:boolean;

b:string;

f:array[0..31] of integer;

begin

readln(n);

for i:=1 to n do begin

k:=0;r:=false;for j:=0 to 31 do f[j]:=0;

readln(a);

if (a>0) and (a<67108864) then begin

repeat

f[k]:=a mod 2;

a:=a div 2;

k:=k+1;

until a=0;

for j:=0 to 31 do begin

if (r=false) and (f[j]=1) then begin

b:=chr(j+65);

write(b);

r:=true;

end

else if f[j]=1 then begin

b:=chr(j+65);

write(' ',b);

end;

end;

end

else write('None');

writeln;

end;

end.

查看更多回复
提交回复