A30363题解 思路见注释
2026-08-22 11:54:29
发布于:广东
5阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int r,k;
string s;
long long sum,power=1;
int decode(char c){//把字符转换为数值,比如 '9'转换为9,'B'转换为11='B'-'A'+10
if(c<='9')return c-'0';//如果字符是数字,直接对应数值
return c-'A'+10;//如果是字母,A代表值为10
}
int main() {
cin>>k;
while(k--){
cin>>r>>s;
sum=0;//多组数据测试,所以每个数开始都要把sum重置为0
for(long long i = s.size()-1,j=1; i>=0; i--,j*=r) { //从最低位开始计算
sum += decode(s[i]) * j;//将每位的权值累加
}
cout<<sum<<endl;
}
return 0;
}
这里空空如也





有帮助,赞一个