Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168106 | B蒋礼谦 | K进制数转L进制数 | C++ | 通过 | 100 | 1 MS | 256 KB | 685 | 2024-08-19 22:42:50 |
#include<bits/stdc++.h> using namespace std; int k,l; string n,d="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int k_to_ten(string s,int x) { int m=1,all=0; for(int i=s.size()-1;i>=0;i--) { if(s[i]>='0'&&s[i]<='9') { all+=(s[i]-'0')*m; } else { all+=(s[i]-'A'+10)*m; } m*=x; } return all; } string ten_to_l(int s,int x) { string all="",ans=""; while(s!=0) { all+=d[s%x]; s/=x; } for(int i=all.size()-1;i>=0;i--) { ans+=all[i]; } return ans; } int main() { while(cin>>k>>n>>l) { if(k==0&&l==0&&n=="@") { break; } cout<<ten_to_l(k_to_ten(n,k),l)<<"\n"; } return 0; }