Description

题目传送门:P10462 Number Base Conversion

直接套板子。

Analysis

模拟,记得开 long long

$\mathbb{n}$ 进制转十进制:

套 c 语言库函数 strtol,该函数原型为 long int strtol(const char *str, char **endptr, int base)。其作用是将 $\mathcal str$ 转换成 $10$ 进制。

十进制转 $\mathbb{n}$ 进制:

短除法,用基数 $n$ 去除,直到商为 $0$,逆序输出。

以 $114514$ 转 $16$ 进制举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define int long long
string zhuanhuan(int number , int n)
{
string ans;

while(number)
{
if(number % n >= 10)
{
ans += char(number % n + 'A' - 10);
}
else
{
ans += char(number % n + '0');
}
number /= n;
}

reverse(ans.begin() , ans.end());
return ans;
}

Code

拼接上面代码+根据题目模拟即可。