题解 | 进制转换
进制转换
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;
}
}
查看7道真题和解析