题解 | #进制转换#

进制转换

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 () {
    // Write your code here
    while(line = await readline()){
        let tokens = line.split('x');
        let num = tokens[1]
        let res = 0
        for(let i in num) {
            switch(num[i]) {
                case '0': {
                    res += 0 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '1': {
                    res += 1 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '2': {
                    res += 2 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '3': {
                    res += 3 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '4': {
                    res += 4 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '5': {
                    res += 5 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '6': {
                    res += 6 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '7': {
                    res += 7 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '8': {
                    res += 8 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case '9': {
                    res += 9 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case 'A': {
                    res += 10 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case 'B': {
                    res += 11 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case 'C': {
                    res += 12 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case 'D': {
                    res += 13 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case 'E': {
                    res += 14 * Math.pow(16, num.length - i - 1)
                    break;
                }
                case 'F': {
                    res += 15 * Math.pow(16, num.length - i - 1)
                    break;
                }
            }
        }
        console.log(res)
    }
}()

全部评论

相关推荐

12-19 15:04
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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