Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99006 | 黄戈 | K进制数转L进制数 | C++ | 通过 | 100 | 0 MS | 244 KB | 708 | 2023-08-21 16:10:56 |
#include <iostream> using namespace std; int sl(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 ls(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(){ long long i,n=0,p1,p2,x=1; string s,res=""; while(cin>>p1>>s>>p2){ res=""; n=0; x=1; for(i=s.size()-1;i>=0;i--) { n+=sl(s[i])*x; x*=p1; } while(n!=0) { res=ls(n%p2)+res; n/=p2; } cout<<res<<endl; } return 0; }