题解 | #进制转换#
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <unordered_map>
#include <algorithm>
#include <math.h>
using namespace std;
unordered_map<char, int> m = {
{'0', 0},
{'1', 1},
{'2', 2},
{'3', 3},
{'4', 4},
{'5', 5},
{'6', 6},
{'7', 7},
{'8', 8},
{'9', 9},
{'A', 10},
{'B', 11},
{'C', 12},
{'D', 13},
{'E', 14},
{'F', 15}
};
void process(string s, int& res){
reverse(s.begin(), s.end());
//cout<<s<<endl;
for(int i = 0; i < s.size(); i++){
res += m[s[i]] * pow(16, i);
//cout<<res<<endl;
}
}
int main(){
string str = "";
int res = 0;
while(cin>>str){
process(str, res);
}
cout<<to_string(res)<<endl;
return 0;
}
华为题库题解 文章被收录于专栏
牛客华为题库的题解