P1143 进制转换
//https://www.luogu.com.cn/problem/P1143?contestId=96616
//进制转换
#include<bits/stdc++.h>
using namespace std;
int n;
string s;
int m;
long long er;
int k=1;
vector<int> result;
int main()
{
cin>>n;
cin>>s;
cin>>m;
//先将n进制数转为二进制
for(int i=s.size()-1;i>=0;i--)
{
if(s[i]>='A'&&s[i]<='Z')
{
er+=(s[i]-'A'+10)*k;
}
else
{
er+=(s[i]-'0')*k;
}
k=k*n;
}
//将十进制转为m进制除m取余
while(er!=0)
{
int zhengchu=er/m;
int mid=er-zhengchu*m;
result.push_back(mid);
er=zhengchu;
}
//最先得到的数字是最低位啊
//vector中用size会包括换行符的长度
for(int i=result.size()-1;i>=0;i--)
{
if(result[i]>=0&&result[i]<=9)
{
cout<<result[i];
}
else
{
printf("%c",result[i]-10+'A');
}
}
return 0;
}