题解 | #汽水瓶#
汽水瓶
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 let arr = [] while(line = await readline()){ arr.push(line) } arr.pop() let result = [] for (let i = 0; i < arr.length; i++) { result.push(count(arr[i])) } result.forEach(item => console.log(item)) function count(num) { if (num < 2) { return 0 } if (num == 2) { return 1 } // 得到可以换的瓶子个数 let num1 = Math.floor(num / 3) // 得到余数 let num2 = num % 3 // 把换到的瓶子个数加上余数,进行下一轮的交换 // 和上次交换的结果相加,就是最终交换的个数 return num1 + count(num1 + num2) } }()