nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。
#include <iostream>
#include<stdio.h>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
char ch[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
void ten2x(int n,int base,vector<char>&res){
if(n<base){
res.push_back(ch[n%base]);
return;
}else{
ten2x(n/base,base,res);
res.push_back(ch[n%base]);
}
return;
}
void ten2x_2(int n, int base, vector<char>&res){
while(n/base){
res.push_back(ch[n%base]);
n/=base;
}
res.push_back(ch[n%base]);
reverse(res.begin(),res.end());
return ;
}
int main()
{
int n,base;
vector<char> res;
cin>>n>>base;
ten2x_2(n,base,res);
for(int i=0;i<res.size();i++){
cout<<res[i];
}
return 0;
}