测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A4912. 进制转换

编程题 普及-
知识点

题目描述

$N$ 进制数指的是逢 $N$ 进⼀的计数制。例如,⼈们日常⽣活中⼤多使用⼗进制计数,而计算机底层则⼀般使用二进制。除此之外,⼋进制和⼗六进制在⼀些场合也是常⽤的计数制(⼗六进制中,⼀般使用字母A 至F表⽰⼗⾄⼗五;本题中,⼗⼀进制到⼗五进制也是类似的)。
在本题中,我们将给出 $N$ 个不同进制的数。你需要分别把它们转换成⼗进制数。

输入格式

输⼊的第⼀⾏为⼀个⼗进制表示的整数 $N$。接下来 $N$ ⾏,每⾏⼀个整数K,随后是⼀个空格,紧接着是⼀个 $K$ 进制数,表示需要转换的数。保证所有 $K$ 进制数均由数字和⼤写字母组成,且不以 $0$ 开头 。保证 $K$ 进制数合法。
保证 $N ≤ 1000$;保证 $2 ≤ K ≤ 16$。
保证所有 $K$ 进制数的位数不超过 $9$。

输出格式

输出 $N$ 行,每⼀个十进制数,表⽰对应 $K$ 进制数的十进制数值。

输入输出样例

输入 #1
2
8 1362
16 3F0
输出 #1
754
1008
输入 #2
2
2 11011
10 123456789
输出 #2
27
123456789

说明/提示

对于任意⼀个 $L$ 位 $K$ 进制数,假设其最右边的数位为第 $0$ 位,最左边的数位为第 $L - 1$ 位,我们只需要将其第i位的数码乘以权值 $K
^i$,再将每位的结果相加,即可得到原K进制数对应的⼗进制数。下⾯是两个例⼦:
$1.$八进制数 $1362$ 对应的⼗进制数为 $1 × 8^3+3 × 8^2+6 × 8^1+2 × 8^0= 754$;
$2.$十六进制数 $3F0$ 对应的⼗进制数为 $3 × 16^2+15 × 16^1+ 0 ×16^0= 1008$
上一题 去做题 下一题