题目描述
火星上的人们以与地球人类似的方式代表他们计算机中的颜色。 也就是说,颜色由6位数字表示,其中前2位数字表示红色,中间2位数字表示绿色,最后2位数字表示蓝色。 唯一的区别是它们使用基数13(0-9和A-C)而不是16.现在给出三个十进制数字(每个在0和168之间)的颜色,你应该输出它们的火星RGB值。
输入
三个十进制颜色值。
输出
按格式输出Mars RGB值:首先输出“#”,然后输入一个6位数字,其中所有英文字符必须是大写的。 如果单个颜色只有1位数长,则必须在左侧打印“0”。
解题思路
实际上是将三个十进制的数分别转换为13进制的数。因此用一个char数组存储13进制的表示{"0123456789ABC"}
代码
#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
char dic[14] = {"0123456789ABC"};
cout<<"#";
int i =0;
int num;
while(i<3){
cin>>num;
cout<<dic[num/13]<< dic[num%13];
i++;
}
return 0;
}