PAT甲级_1027(Colors in Mars)

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章