4354: GESP C++ 四级 3进制转换202309
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:3
解决:3
题目描述
样例输入 复制
2
8 1362
16 3F0
样例输出 复制
754
1008
提示
#include <iostream> #include <cstring> using namespace std; int trans_digit(int k, char c) { if (c <= '9') return (c - '0'); return (c - 'A' + 10); } long long trans(int k, char str[]) { int l = strlen(str); long long res = 0, pw = 1; for (int i = l - 1; i >= 0; i--) { res += pw * trans_digit(k, str[i]); pw *= k; } return res; } int main() { int n = 0; cin >> n; for (int t = 0; t < n; t++) { int k = 0; char str[10]; cin >> k >> str; cout << trans(k, str) << endl; } return 0; }