Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
180622 | C班—刘铠锋 | K进制数转L进制数 | C++ | 无测评数据 | 0 | 0 MS | 0 KB | 875 | 2024-08-21 16:37:33 |
#include<iostream> #include<cstring> #include<cmath> using namespace std; int k,l,ansn,n2,ansn2,i; char n[301]; int change(char c) { if(c=='A')return 10; if(c=='B')return 11; if(c=='C')return 12; if(c=='D')return 13; if(c=='E')return 14; if(c=='F')return 15; else return c-48; } char rechange(int X) { if(X==10)return 'A'; if(X==11)return 'B'; if(X==12)return 'C'; if(X==13)return 'D'; if(X==14)return 'E'; if(X==15)return 'F'; else return X+48; } int main() { ios::sync_with_stdio(0); while(scanf("%d %s %d",&k,n,&l)==3) { i=ansn=0; while(i<strlen(n)) { i++; ansn=ansn+change(n[i-1])*pow(k,strlen(n)-i); } ansn2=ansn; string ans="",fians=""; while(ansn2!=0) { ans+=rechange(ansn2%l); ansn2/=l; } for(i=ans.length()-1;i>=0;i--)fians+=ans[i]; cout<<fians<<endl; } return 0; }