前言
正文
思路
注意,在进制转换中常常用到使用字符数组的技巧,还有除基取余法
参考题解
#include<iostream>
#include<cstdio>
using namespace std;
/*
题意就是给三个十进制数,范围为(0—168),将其转为
13进制数,同时注意若转换后的13进制数只有一位,需要
在其左边补零,也就是至少两位 。
首先可以初始化一个map字符数组,用来映射每一位13进制数
同时注意每个十进制数最大为168,小于13^2;因此转换为13进制
数后,最多只有两位。
*/
int main(){
char map[]={'0','1','2','3','4','5','6','7','8','9','A','B','C'};
int r,g,b;
cin>>r>>g>>b;
cout<<"#";
cout<<map[r/13]<<map[r%13];
cout<<map[g/13]<<map[g%13];
cout<<map[b/13]<<map[b%13]<<endl;
return 0;
}