level 3
a进制转b进制,用pascal子程序做。
方法:n先转十进制,再用十进制转n。
输入:第一行 一个任意进制位数
第二行 待转数的进制,要转数的进制。
求大神!
2015年07月22日 02点07分
1
level 11
var a,b:string;c:longint;
function bzs(a:string):longint;
var b,i:longint;
begin
b:=0;
for i:=1 to length(a) do
b:=b*8+ord(a[i])-48;
bzs:=b;
end;
function sze(b:longint):string;
var a:string;i:longint;
begin
a:='';
while b<>0 do
begin
a:=chr(b mod 2+48)+a;
b:=b div 2;
end;
sze:=a;
end;
begin
readln(c);
readln(a);
b:=sze(bzs(a));
if b='' then writeln(0)
else writeln(b);
end.
这是八进制转二进制的,把里面的八和二换一下,然后注意一下十进制上面的用字母替换就好了
2015年07月23日 12点07分
3
level 7
const sr='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var st:string;
a,b,num:integer;
procedure init;
begin readln(st); readln(a,b); end;
procedure n_zhuan_shi;
var w,i,temp:integer;
begin
w:=1; num:=0;
for i:=length(st) downto 1 do
begin
if (st[i]>='0') and (st[i]<='9') then temp:=ord(st[i])-48 else temp:=ord(st[i])-55;
num:=num+temp*w;
w:=w*a;
end;
end;
procedure shi_zhuan_n;
begin
st:='';
repeat
st:=sr[num mod b+1]+st;
num:=num div b;
until num=0;
end;
procedure print;
begin writeln(st); end;
begin
init; n_zhuan_shi; shi_zhuan_n; print;
end.
2015年07月25日 08点07分
5