#include <iostream> using namespace std; const int t=20000000; char a[t],b[t]; int fun(char c) { int k; if (c>='1'&&c<='9') { k=c-'0'; return k; } k=c-55; return k; } int fun1(char x) { int k; if (x>=0&&x<=9) { k=x+'0'; return k; } k=x+55; return k; } int main() { int n,m,i,j,sum=0; cin >> n; cin.get(); cin.getline(a,t); cin >> m; for (i=0;a[i]!='\0';i++) { if (a[i]=='0') { sum*=n; } else { sum=sum*n+fun(a[i]); } } j=0; while (sum!=0) { b[j]=fun1(sum%m); sum=sum/m; j++; } for (i=j-1;i>=0;i--) { cout << b[i]; } cout << endl; return 0; }
原文地址:http://blog.csdn.net/zsc2014030403015/article/details/42523893