目录
牛客_DD5 进制转换
解析代码
牛客_DD5 进制转换
进制转换_牛客题霸_牛客网
解析代码
本题题目很简单,题目的本意就是将10进制的数转换成N进制。N(2 ≤ N ≤ 16)可以看出进制最多可以到16进制。 首先想清楚原理:N进制数,每个进制位的值分别是X0*N^0,X1*N^1, X2*N^2.....,X0, X1,X2就是这些进制位的值,就是就是进行取模余数就是当前低进制的位的值是多少,通过除掉进制数,进入下一个进制位的计算。
#include <algorithm>
#include <iostream>
#include <string>
#include <cstring>
using namespace std;int main()
{int m = 0, n = 0;cin >> m >> n;if (m == 0){cout << 0;return 0;}string ret = "", str = "0123456789ABCDEF";bool flag = false;if (m < 0){m = -m;flag = true;}while (m > 0){ret += str[m % n];m /= n;}if (flag)ret += '-';reverse(ret.begin(), ret.end());cout << ret;return 0;
}