题解 | #进制转换#

进制转换

http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

#include <bits/stdc++.h>
using namespace std;

unordered_map<char,int> record={{'A',10},{'B',11},{'C',12},{'D',13},{'E',14},{'F',15}};
int main()
{
    string s;
    while(cin>>s){
        int n=s.size(),p=1;
        int res=0;
        for(int i=n-1;i>=1;i--){
            if(s[i]>='0'&&s[i]<='9')res+=(s[i]-'0')*p;
            else res+=record[s[i]]*p;
            p=p*16;
        }
        cout<<res<<endl;
    }
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务