题解 | 进制转换

进制转换

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    while(line = await readline()){
        const arr = line.substring(2).split('');
        var sum = 0;
        arr.forEach((str,index) => {
            sum += Number(change(str,arr.length -1 - index));
        })
        console.log(sum)
    }
}()

function change(str,n) {
    // 将数位转换成十进制数
    switch (str){
        case "a":
        case "A": return 10*16**n; break;
        case 'b':
        case 'B': return 11*16**n; break;
        case 'c':
        case 'C': return 12*16**n; break;
        case 'd':
        case 'D': return 13*16**n;break;
        case 'e':
        case 'E': return 14*16**n;break;
        case 'f':
        case 'F': return 15*16**n;break;
        default : return Number(str)*16**n;break;
    }
}

全部评论

相关推荐

牛客62533758...:华为不卡双非,而是卡院校hhhh
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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