#include <bits/stdc++.h>// 万能头 using namespace std; int main() { string s; cin>>s; reverse(s.begin(),s.end()); // 先将字符串给翻转 int n=s.size(); long long sum=0; for(int i=0;i<n-2;i++){ // 开始遍历 if(s[i]>='0'&&s[i]<='9') // 判断范围 是否大于9 sum+=(s[i]-'0')*pow(16,i); // 0-9 else sum+=(s[i]-'A'+10)*pow(16,i); 10 -15 } cout<<sum; //输出answer } // 64 位输出请用 printf("%lld")
https://www.nowcoder.com/discuss/727521113110073344 + #牛客春招刷题训练营#