(个人水平有限,请见谅!)
题目描述:
给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数。
输入描述:
输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。
输出描述:
为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)。
输入:
7 2
输出:
111
代码示例:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
long long M, N;
string letter[6] = {"A", "B", "C", "D", "E", "F"};
string result = "";
cin >> M >> N;
if (M < 0)
{
M = -M;
cout << "-";
}
while (M > 0)
{
if (M % N <= 9)
result += '0' + M % N;
else
result += letter[M%N - 10];
M = M / N;
}
reverse(result.begin(), result.end());
cout << result << endl;
}