Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150207 | 杰苏尔纳迪尔 | K进制数转L进制数 | C++ | 通过 | 100 | 0 MS | 260 KB | 589 | 2024-06-01 16:27:51 |
#include<iostream> #include<bits/stdc++.h> using namespace std; int tooct(int n,string s){ int i,t=0; for(int i=0;i<s.size();i++){ if(s[i]>='0' && s[i]<='9') t=t*n+s[i]-48; else if(s[i]>='A' && s[i]<='F') t=t*n+s[i]-55; else if(s[i]>='a' && s[i]<='f') t=t*n+s[i]-87; } return t; } string oct2n(int x,int n){ const string a="0123456789ABCDEF"; string s=""; for(;x>0;x/=n) s=a[x%n]+s; return s; } int main(){ int k,l; string n; while(cin>>k>>n>>l){ int octn=tooct(k,n); string eq=oct2n(octn,l); cout<<eq<<"\n"; } return 0; }