题目:https://www.nowcoder.com/pat/1/problem/4014
题意:
火星人颜色RGB和地球人不一样,但是方法一样。RGB分红、绿,蓝。每种颜色占两位,每一位13进制表示,
提供RBG数值,请转化成RGB格式
分析:
题意容易理解,也很好写,注意c++输出cout,char需要强制转换,不然输出的不是字母。
输入例子:
15 43 71
输出例子:
#123456
代码:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void printson(int b)
{
if(b<10)
{
cout << b;
}
else
{
cout << char('A' + (b-10)); //注意一定要强转char类型
}
}
void print(int a)
{
if(a<13)
{
cout << "0";
printson(a);
}
else if(a <169)
{
printson(a/13);
printson(a-a/13*13);
}
}
int main()
{
int r,g,b;
cin >> r >> g >> b;
cout << "#";
print(r);
print(g);
print(b);
cout << endl;
return 0;
}