1027 火星上的颜色
火星上的人们在计算机上表示颜色的方式与地球上的人们类似。即,一种颜色由6位数字表示(RGB),其中前两位数字表示红色值,中间两位数字表示绿色值,最后两位数字表示蓝色值。 唯一的区别是他们使用的基数13(0-9和 A-C)而不是16进制。 现在给定三个十进制数字表示(每个数字介于0和168之间)的颜色,您应该输出火星上的RGB 值。
输入规范
每个输入文件包含一个测试用例,该测试用例占用一行,包含三个十进制颜色值。
输出规范
对于每个测试用例,您应该以下列格式输出 火星上的RGB 值: 首先输出一个#
,然后是一个6位数字,其中所有英文字符必须大写。 如果单个颜色只有1位数字,则必须在其左侧打印一个0
。
输入样例
15 43 71
输出样例
#123456
解题思路
还是一道进制转换题,且最多只有两位,更加简单。(10进制------>13进制)
AC代码
#include <iostream>
#include <string>
using namespace std;
string value = "0123456789ABC";
string function(int n) {
string str = "00";
str[0] = value[n/13];
str[1] = value[n%13];
return str;
}
int main() {
int r, g, b;
cin >> r >> g >> b;
string res = function(r) + function(g) + function(b);
cout << '#' << res << endl;
return 0;
}