3952: 高精度进制转换
内存限制:512 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
这是一道模板题。
请实现一个程序,将一个非常大的**非负整数**由一个进制转换为另一个进制。
其中需要考虑的有 $62$ 个不同的数位 $\{\texttt{0}-\texttt{9},\texttt{A}-\texttt{Z},\texttt{a}-\texttt{z}\}$, 其中在十进制下,有 $\texttt{A}=10,\texttt{B}=11,\dots,\texttt{Z}=35,\texttt{a}=36,\texttt{b}=37,...,\texttt{z}=61$。
输入
第一行输入两个整数 $a, b$ ,表示输入数字的进制以及输出数字的进制。
第二行输入一个 $a$ 进制非负整数 $X$。
输出
输出一个 $b$ 进制整数,为 $X$ 的 $b$ 进制表示。
样例输入 复制
36 10
1AZ
样例输出 复制
1691
提示
数据范围:对于 $100\%$ 的数据,有: $2\le a,b\le 62$。 $1\le$ $X$ 在 $a$ 进制表示下的长度 $\le 10^5$。 在 $b\ge 4$ 时, $1\le$ $X$ 在 $b$ 进制表示下的长度 $\le 2\times 10^5$。 在 $b=3$ 时, $1\le$ $X$ 在 $b$ 进制表示下的长度 $\le 3.5\times 10^5$。 在 $b=2$ 时, $1\le$ $X$ 在 $b$ 进制表示下的长度 $\le 3\times 10^5$。 所有评测数据随机生成。 为了方便各位进行本题调试对拍,本题提供采用 `Go` 语言实现的任意进制高精度非负整数转为 $10$ 进制输出的代码。请前往[本题的附件区](https://loj.ac/p/id/41314/files)下载源代码文件。 上述代码采用了**和本题完全一样的输入格式**,但是在输出的时候忽略原有的输出进制,**直接按照 $10$ 进制就行输出。** 各位也可以用上述代码检查本题的 $40$ 组测试数据。 如果需要添加 Hack 数据(请保证与上述数据范围要求一致),欢迎添加讨论或者私信[作者](https://loj.ac/u/CYMario)。