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)。

来源/分类