在PASCAL下 如何將36進制數(shù)化為10進制數(shù)(請?zhí)峁┧惴ǎ?/h1>

2023-01-24 02:36

2個回答
又學到知識,樓上高手~!
輸入:
輸入數(shù)據(jù)共有三行,第一行是一個正整數(shù),表示需要轉(zhuǎn)換的數(shù)的進制n(2≤n≤16),第二行是一個n進制數(shù),若n>10則用大寫字母A~F表示數(shù)碼10~15,并且該n進制數(shù)對應(yīng)的十進制的值不超過1000****00,第三行也是一個正整數(shù),表示轉(zhuǎn)換之后的數(shù)的進制m(2≤m≤16)。

輸出:
輸出僅一行,包含一個正整數(shù),表示轉(zhuǎn)換之后的m進制數(shù)。

樣例:
change.in
16
FF
2

change.out
1111****

program asdf;
var
n,m,h,i:integer;
f:longint;
s:string;
a:array[1..2000]of char;
function fj(d:string):longint;
var
i,j,k:integer;
begin
fj:=0;
for i:=1 to length(d) do
begin
k:=1;
for j:=1 to length(d)-i do k:=k*n;
if (n<=10)or((d[i]>='0')and(d[i]<='10'))
then k:=k*(ord(d[i])-ord('0'))
else k:=k*(ord(d[i])-ord('A'));
fj:=fj+k;
end;
end;
procedure fd(t:longint);
var
i:integer;
begin
h:=2001;
while t>0 do
begin
i:=t mod m;
dec(h);
if i<10 then a[h]:=chr(ord('0')+i)
else a[h]:=chr(ord('A')+i-10);
t:=t div m;
end;
end;
begin
assign(input,'change.in');
assign(output,'change.out');
reset(input);
rewrite(output);
readln(n);
readln(s);
readln(m);
f:=fj(s);
fd(f);
for i:=h to 2000 do
write(a[i]);
writeln;
close(input);
close(output);
end.

相關(guān)問答
pascal 36進制轉(zhuǎn)十進制的程序
3個回答2022-10-06 22:58
36進制轉(zhuǎn)10進制: var s:string; i,j,k,l:longint; o,p:int64; begin readln(s); o:=0;p:=1; for i:=8 dow...
全文
36進制轉(zhuǎn)換為10進制要怎麼算
2個回答2023-05-31 09:36
首先R是多少, 好像是27 , 你自己慢慢數(shù)吧 Y是34 所以 R9就是 27 * 36 + 9 = 自己算吧 10Y 就是 1* 36*36 + 0 * 36 + 34 =
36進制計算器
1個回答2022-12-20 11:22
36進制?你發(fā)明的?
提供動畫短片制作故事
1個回答2024-01-25 19:21
給你一個建議 我也是學動畫的,當年畢業(yè)作品排名第一 主要原因就是畫面簡單 但是看著不簡單 你可以找一首MTV,就把人物畫好了 再搭配歌曲,你的作品肯定出眾 就簡單的人物挪動 然后有點動作 或者旁邊的...
全文
36進制轉(zhuǎn)10進制函數(shù)
1個回答2023-01-13 02:56
我倒是很好奇:36進制怎么表示? 16進制都用上英文字母了,那36進制竟然剛好把字母用完! 還好奇:36進制主要用在什么地方?
36進制的數(shù)字怎么算?
3個回答2023-03-21 19:36
36進制的數(shù)字化為十進制數(shù)字的方法: 從右到左,每兩個數(shù)一組。將第一組數(shù)字乘以1,將第二組的數(shù)字乘以36,將第三組的數(shù)字乘以362,將第四組的數(shù)字乘以363,以此類推,再將所有的和相加。 如:1232...
全文
36進制如何轉(zhuǎn)為10進制,求過程,比如eu
2個回答2023-01-16 12:15
題目沒有說清楚,請詳細說明題意.
如何在WPS進行36進制轉(zhuǎn)10進制?
1個回答2022-11-18 05:30
沒找到36進制函數(shù),自己用公式算吧,截取右邊第一位加上右邊第2位*36加右邊第3位*36*36.....感覺沒好的辦法
熱門問答