Javascript Node解法
const readline = require("readline")
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', function(input){
changeNum(input)
})
// 定义十六进制超出9以外的字符进行数字转义
const transObj = {
'a': 10,
'b': 11,
'c': 12,
'd': 13,
'e': 14,
'f': 15
}
function changeNum(input){
//从下标为2的地方截取字符串,例0xaa -> aa
const str = input.substr(2).toLowerCase()
let res = 0,k=1
for(let i = str.length - 1; i>= 0; i--){
// 如果本身是9以内的数字,那么直接乘以k
if(Number(str[i]) >= 0){
res += Number(str[i])*k
}else{
// 本身并不是9以内的数字,那就需要转换,再乘以k
res += transObj[str[i]] * k
}
// k代表各个位上的值
k *= 16
}
console.log(res)
}