PAT A1027 Colors in Mars

前言

传送门

正文


思路

注意,在进制转换中常常用到使用字符数组的技巧,还有除基取余法

参考题解

#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;
}
全部评论

相关推荐

02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
03-18 01:22
门头沟学院 Java
肖先生~:先别说工资,现在有个工作就不错了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务