AcWing 1504. 火星颜色
原题链接
简单
作者:
eveer
,
2021-08-26 21:55:07
,
所有人可见
,
阅读 163
#include<bits/stdc++.h>
using namespace std;
vector<int> change(int x)//将十进制的x转化为13进制
{
vector<int>res;
if(x==0)res.push_back(x);//等于0的情况要特判一下,因为不会进入后面的while循环
else
{
while(x)
{
res.push_back(x%13);
x/=13;
}
reverse(res.begin(),res.end());
}
return res;
}
void out(vector<int> res)//将res的结果输出
{
if(res.size()==1)//若res只有一项,则需要添加前导0
{
printf("%d",0);
if(res[0]<=9)printf("%d",res[0]);
else if(res[0]==10)printf("A");
else if(res[0]==11)printf("B");
else if(res[0]==12)printf("C");
}
else
{
for(int i=0;i<=1;i++)
{
if(res[i]<=9)printf("%d",res[i]);
else if(res[i]==10)printf("A");
else if(res[i]==11)printf("B");
else if(res[i]==12)printf("C");
}
}
}
int main()
{
int r,g,b;
scanf("%d%d%d",&r,&g,&b);
printf("#");
auto res=change(r);
out(res);
res=change(g);
out(res);
res=change(b);
out(res);
return 0;
}