哪位高手给我一个2,8,10,16进制转化的原程序Pascal的

来源:百度知道 编辑:UC知道 时间:2024/05/09 19:20:50
哪位高手给我一个2,8,10,16进制转化的原程序Pascal的

Pascal的程序哦;。。
别的语言不要。。。

先输入P,Q,表示把P进制数转为Q进制数;
再在第二行输入要转换的数
program lkjzzh;
var
program lkjzzh;
var
a:array[1..100] of longint;
s:string;
n,p,q,m,k,i,j:longint;
begin
{assign(input,'jzzh.in');
assign(output,'jzzh.out');
reset(input);
rewrite(output); }
readln(p,q);
readln(s);
n:=length(s);
for i:=1 to n do
if ord(s[i])<58 then a[i]:=ord(s[i])-48 else a[i]:=ord(s[i])-55;
m:=0;
for i:=1 to n do
m:=m+a[i]*power(p,n-i);
fillchar(a,sizeof(a),0);
i:=1;
while m>0 do
begin
a[i]:=m mod q;
m:=m div q;
inc(i);
end;
for i:=100 downto 1 do
if a[i]<>0 then break;
for j:=i downto 1 do
if a[j]<10 then write(a[j]) else write(chr(a[j]+55));
{ close(input);
close(output); }
end.