题解 | 进制转换
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
while(cin>>s){
long long ans=0;
for(int i=2;i<s.size();i++){
ans*=16;
if(isdigit(s[i]))ans+=s[i]-'0';
else ans+=s[i]-'A'+10;
}
cout<<ans<<endl;
}
}
本题测试数据的范围不大,用longlong可以强行突破


查看17道真题和解析