JS как дописать условие к задаче?
Условия задачи:
- Номер вмещает в себя 8мест+ можно 1 малыш.
- Должен быть 1 взрослый.
- На одного взрослого не может быть больше двух детей.
Я написал:
function canTheyBook(adultsCount=0, childrenCount=0, babiesCount=0) {
if (adultsCount>=1 && adultsCount+childrenCount+babiesCount<=8 && childrenCount+babiesCount<=adultsCount*2 ) return true
else return false;
}
Я не знаю, как указать условие для девятого малыша
adults+children<=8 && babies<=1 нельзя, т.к. в тех восьми тоже могут быть малыши.
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Попробуйте сначала отсеять провальные варианты один за другим:
function canTheyBook(adultsCount = 0, childrenCount = 0, babiesCount = 0) {
const all = adultsCount + childrenCount + babiesCount;
if (all > 9) return false;
if (adultsCount === 0) return false;
if (all === 9 && babiesCount === 0) return false;
if (adultsCount * 2 < childrenCount + babiesCount) return false;
return true;
}
console.log(canTheyBook(5, 4 , 1));
console.log(canTheyBook(0, 4 , 4));
console.log(canTheyBook(5, 4 , 0));
console.log(canTheyBook(1, 4 , 0));
console.log(canTheyBook(5, 3 , 1));