Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
156780 | 於子轩bylz | K进制数转L进制数 | C++ | 通过 | 100 | 0 MS | 272 KB | 753 | 2024-07-18 14:47:01 |
#include<cstdio> #include<iostream> using namespace std; int ito(char a) { if(a=='A')return 10; if(a=='B')return 11; if(a=='C')return 12; if(a=='D')return 13; if(a=='E')return 14; if(a=='F')return 15; return int(a-'0'); } char oti(int a) { if(a==15)return 'F'; if(a==14)return 'E'; if(a==13)return 'D'; if(a==12)return 'C'; if(a==11)return 'B'; if(a==10)return 'A'; return char(a+'0'); } int main(int argc,char** argv) { ios::sync_with_stdio(false); long long i,n=0,p1,p2,x=1; string s,res=""; while(cin>>p1>>s>>p2) { x=1; res=""; for(i=s.size()-1;i>=0;i--) { n+=ito(s[i])*x; x*=p1; } while(n!=0) { res=oti(n%p2)+res; n/=p2; } cout<<res<<endl; } return 0; }