Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168109 | B班余绮淇 | K进制数转L进制数 | C++ | 运行超时 | 0 | 1000 MS | 268 KB | 964 | 2024-08-19 22:44:23 |
#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; }