先将任意进制数转化为10进制,再将十进制数转化为按规定的进制数
#include<iostream>
using namespace std;
long long tok2(long long nk,int k1,int k2)
{
long long t=0;
int radix=1;
while(nk){
t+=nk%k2*radix;
nk/=k2;
radix*=k1;
}
return t;
}
long long k1tok2(long long nk,int k1,int k2)
{
return tok2(tok2(nk,k1,10),10,k2);
}
int main()
{
long long m,n;
int k1,k2;
char tc;
cin>>m>>tc>>k1>>tc>>k2;
n=k1tok2(m,k1,k2);
cout<<n<<endl;
return 0;
}