题解 | 进制转换
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <iostream> #include <cmath> using namespace std; // 64 位输出请用 printf("%lld") int suan(int data){ int result = 1; for (int i = 0;i<data; i++) { result *= 16; } return result; } int main() { string data; cin>>data; string result = ""; for(int i = 2;i < data.size();i++){ result += data[i]; } int sum = 0; int index = 0; for(int k =result.size()-1;k>=0;k--){ if(result[k]>='A'&&result[k]<='F'){ sum += (result[k]-'A'+10)*suan(index); } else{ sum+=(result[k]-'0')*suan(index); } index++; } cout<<sum<<endl; }