题解 | 进制转换

进制转换

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

#include <iostream>
#include <cmath>
using namespace std;

int solution(char c,int size,int n){
    int digit_ascii = '1' - 1;
    int letter_ascii = 'F' - 15;
    if(c<='F'&&c>='A')
        return pow(16,size-n-1)*(c-letter_ascii);
    else if(c<='9'&&c>='0')
        return pow(16,size-n-1)*(c-digit_ascii);
    return 0;
}
int main() {
    string s = "\0";
    cin >> s;
    string s1 = s.substr(2,s.size());
    int ans = 0;
    int size = s1.size();
    for(int i = 0;i<size;i++){
        ans+=solution(s1[i],size,i);
    }
    cout<<ans;
    return 0;
}

全部评论

相关推荐

04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务