题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805470349344768
题目大意: 给出十进制的三个数(每个数不超过168),让你转换成13进制(0~9,A ~C)输出。不足两位数的前面补0。字母大写。
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
vector<string> v;
string mp[13]={"0","1","2","3","4","5","6","7","8","9","A","B","C"};
void fun(int tmp){
int x;
if(tmp==0) v.push_back("00");
else{
for(int i=1;tmp!=0;i++){
x=tmp%13;
string s=mp[x];
v.push_back(s);
if(i==1&&tmp<13) {
v.push_back("0");
break;
}
tmp=tmp/13;
}
}
}
int main(){
cin>>a>>b>>c;
cout<<"#";
fun(c);
fun(b);
fun(a);
reverse(v.begin(),v.end());
for(int i=0;i<v.size();i++){
cout<<v[i];
}
}