笔试题1

1. 汽水瓶

链接:https://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f

while (line = readline()) {
    let lineArr = line.split(' ');
    if (lineArr[0] == '0') break;
    console.log(algorithm(Number(lineArr[0])));
}
function algorithm (n) {
    if (1 == n)
        return 0;
    else if (2 == n)
        return 1;
    else
        return Math.floor(n / 3) + algorithm(Math.floor(n / 3) + n % 3);
}
while (line = readline()) {
    let lineArr = line.split(' ');
    if (lineArr[0] == '0') break;
    bottle(Number(lineArr[0]));
}
function bottle (arr) {
    let count = 0;
    while ((arr + 1) > 3) {
        let tempZ = Math.floor(arr / 3);
        let tempY = arr % 3;
        arr = tempY + tempZ;
        count += tempZ;
        if (arr + 1 == 3) {
            count++;
            break;
        }
    }
    console.log(count);
}

2. 明明随机数

链接:https://www.nowcoder.com/questionTerminal/3245215fffb84b7b81285493eae92ff0

function unique (arr) {
    return [...new Set(arr)];
}

while (line = readline()) {
    let lineArr = line.split(' ');
    let arr = [];
    for (let i = 0; i < Number(lineArr[0]); i++) {
        arr.push(Number(readline().split(' ')));
    }
    arr = unique(arr).sort(function (a, b) { return a - b });
    for (let i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
}

3. 进制转换

链接:https://www.nowcoder.com/questionTerminal/8f3df50d2b9043208c5eed283d1d4da6

let hex = {
    "A": 10,
    "B": 11,
    "C": 12,
    "D": 13,
    "E": 14,
    "F": 15
}
let temp = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];


while (line = readline()) {
    let lineArr = line.split('');
    let arr = lineArr.splice(2);
    let count = 0;
    for (let i = 0; i < arr.length; i++) {
        if (temp.indexOf(parseInt(arr[i])) == -1) {
            let num = hex[arr[i]];
            count += num * Math.pow(16, arr.length - i - 1);
        }
        else {
            count += parseInt(arr[i]) * Math.pow(16, arr.length - i - 1);
        }
    }
    console.log(count);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值