Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
99045 李树强 K进制数转L进制数 C++ 通过 100 0 MS 252 KB 636 2023-08-21 16:27:01

Tests(5/5):


#include<iostream> #include<string> using namespace std; int k, l, a[10]; string n, ans=""; char f1(int num){ if(num < 10){ return num + '0'; } return 'A' + (num % 10); } int f2(char num){ if(num >= '0' && num <= '9'){ return num - '0'; } else{ return 10 + num - 'A'; } } int main(){ while(cin >> k >> n >> l){ for(int i = 0; i < n.size(); i++){ a[n.size()-i-1] = f2(n[i]); } int cnt = 0, w = 1; for(int i = 0; i < n.size(); i++){ cnt += a[i] * w; w *= k; } ans = ""; while(cnt){ ans = f1(cnt % l) + ans; cnt /= l; } cout << ans << endl; } }


测评信息: