代码:
#include<iostream>
#include<map>
using namespace std;
string s;
int a[40],c[40],ct=0;
int n,m;
int main()
{
cin>>n>>s>>m;
map<char,int> b;
map<int,char> d;
for(int i=0;i<=9;i++) b[i+'0']=i,d[i]=char(i+'0');
for(int i=10;i<=15;i++) b[i+55]=i,d[i]=char(i+55);
for(int i=1;i<=s.size();i++) a[i]=b[s[i-1]];
int top=n;
while(top)
{
a[0]=0;
for(int i=top;i>=1;i--) a[i-1]+=a[i]%m*n,a[i]=a[i]/m;
c[++ct]=a[0]/n;
while(a[top]==0) top--;
//for(int i=1;i<=top;i++) cout<<d[a[i]];
//cout<<"……"<<c[ct]<<'\n';
}
for(int i=ct;i>=1;i--) cout<<d[c[i]];
return 0;
}
带着的调试代码比较乱,我注释了 ,有密集恐惧症的别去注释(去了估计也看不懂),用的高精度,好久不用也忘得差不多了,哪位大佬帮忙调试一下啊