最近发现个面试题,小做了下;(JavaScript实现)
(如有错误,恳请联系我)
function fn(money = 20) {
let numb = 0; // 可购买的瓶数
let cap = 0; // 盖子
let bottle = 0; // 瓶子
fn1()
return fn1();
function fn1() {
if (money > 0) {
money--;
numb++;
cap++;
bottle++;
fn1()
} else {
if (cap - 3 >= 0) {
cap = cap - 2
numb++;
bottle++;
fn1()
}
if (bottle - 2 >= 0) {
bottle = bottle - 1;
numb++;
cap++;
fn1()
}
if (cap - 3 >= 0 || bottle - 2 >= 0) {
fn1();
}
return numb;
}
}
}
console.log(`可购买${fn(200)}瓶`);