题目大意:将小于169的十进制数转换成13进制数,不足两位的补零。
进制转换问题,直接转换即可。
AC代码:
#include <iostream>
#include <algorithm>
using namespace std;
string toThirteen(int dec)
{
string str;
if(dec == 0)
str = "00";
while(dec > 0)
{
int tmp = dec % 13;
if(tmp >= 0 && tmp <= 9) str += '0' + tmp;
else str += 'A' + tmp - 10;
dec /= 13;
}
if(str.size() < 2) str += '0';
reverse(str.begin(), str.end());
return str;
}
int main()
{
int r, g, b;
cin >> r >> g >> b;
string str = toThirteen(r) + toThirteen(g) + toThirteen(b);
cout << "#" << str;
return 0;
}