Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168084 | C班徐柏涵 | K进制数转L进制数 | C++ | 解答错误 | 40 | 1 MS | 264 KB | 597 | 2024-08-19 22:21:13 |
#include <bits/stdc++.h> using namespace std; int k,l; string n; int charToInt(char c){ if('0'<= c&&c<='9') return c-'0'; return c-'A'+10; } char intToChar(int n){ if(n<10)return '0'+n; return 'A'+n-10; } int main(){ while(cin>>k>>n>>l){ int a[1000],b[1000],t=0,sum=0; int len=n.size(); for(int i=len-1;i>=0;i--) a[len-1-i]=charToInt(n[i]); int ans=0,w=1; for(int i=0;i<len;i++)ans+=w*a[i],w*=k; while(ans){ b[t]=ans%l,ans/=l,t++; } for(int i=t-1;i>=0;i--) cout<<intToChar(b[i]); } }