提交时间:2024-08-19 22:44:23

运行 ID: 168109

#include <iostream> #include <cstring> #include <cmath> using namespace std; long long to10(int n,char x[]) { int len=strlen(x); long long s=0; long long y=1; for(int i=len-1;i>=0;i--) { int t; if(x[i]>='A'&&x[i]<='Z') { t=x[i]-'A'+10; } else if(x[i]>='a'&&x[i]<='z') { t=x[i]-'a'+10; } else { t=x[i]-'0'; } s+=t*y; y*=n; } return s; } int main() { int k[1000]; char n[1000][1000]; int l[1000]; int b=0; while(scanf("%d %s %d",&(k[b]),n[b],&(l[b]))) { b++; } for(int i=0;i<b;i++) { long long s=to10(k[i],n[i]); if(s==0) { cout<<0; } else { int len=0; int c[10001]={0}; while(s>0) { c[len]=s%l[i]; len++; s/=l[i]; } for(int j=len-1;j>=0;j--) { if(c[j]>=10) { char d='A'+c[j]-10; cout<<d; } else { cout<<c[j]; } } cout<<endl; } } return 0; }