AcWing 1504. 火星颜色
原题链接
简单
作者:
王小强
,
2021-03-05 14:02:00
,
所有人可见
,
阅读 299
递归算法求进制转换
#include <iostream>
#include <sstream>
using namespace std;
int r, g, b;
void helper(int n, ostringstream& out) {
if (!n) return;
helper(n / 13, out);
if (n % 13 > 9) out << string(1, n % 13 - 10 + 'A');
else out << string(1, n % 13 + '0');
}
string conv(int n) {
if (!n) return "00";
ostringstream out;
helper(n, out);
string ans = out.str();
return ans.length() < 2 ? '0' + ans : ans;
}
int main(void) {
cin >> r >> g >> b;
printf("#%s%s%s", conv(r).c_str(), conv(g).c_str(), conv(b).c_str());
return 0;
}