题解 | #汽水瓶#

汽水瓶

https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f

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())) {
        if (line == "0") {
            break;
        }
        let n = Number(line);
        let k = 0;
        console.log(getVal(k, n));
    }
})();

//喝了 k 瓶,当前空瓶数 n
var getVal = function (k, n) {
    //看手上瓶子够不够换
    if (n == 1) {
        return k;
    }
    if (n == 2) {
        return k + 1;
    }
    //余下的空瓶子
    let n2 = n % 3;
    //兑换的新饮料
    n = Math.floor(n / 3);
    //喝掉
    k += n;
    //现在的空瓶子
    n += n2;
    return getVal(k, n);
};

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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