蓝桥杯备考-进制转换

先将任意进制数转化为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;
}

猜你喜欢

转载自www.cnblogs.com/yangnansuper/p/12770869.html