1027 Colors in Mars
题目大意
火星人癖好特殊,要用三个13进制数表示颜色,给出三个10进制数,分别转为13进制,表示三种颜色,记得用大写ABC
算法思想
- 转为13进制数的函数,但是要在函数中做点手脚,使得其能够用0补满2位
- 无特殊点
代码
#include<iostream>
#include<string>
using namespace std;
string ex(int x)//转为13进制
{
string e = "";
while (x){
if ((x % 13) >= 0 && (x % 13) < 10)
e = to_string(x % 13) + e;
else {
char l = (x % 13) - 10 + 'A';//用大写
e = l + e;
}
x = x / 13;
}
while (e.size() != 2)//补上0
e = '0' + e;
return e;
}
int main()
{
int r, g, b;
string sr = "", sg = "", sb = "", s = "#";
cin >> r >> g >> b;
sr = ex(r);
sg = ex(g);
sb = ex(b);
s = s + sr + sg + sb;
cout << s;
return 0;
}