бешенная сушка 28/28

var initialWeight = 6000; // Исходный вес в граммах
var targetWeight = 5000; // Желанный вес в граммах
var days = 0;

while (initialWeight > targetWeight) {
if(initialWeight <= targetWeight){
break
}
if (initialWeight > targetWeight) {
days ++;
initialWeight = initialWeight / 100 * 95 ;
}
}
console.log('дней ’ + days);
console.log(initialWeight);

Кажется что проверки с if можно опустить, так как они обе уже заложены в while.
Достаточно:

while (initialWeight > targetWeight) {
    initialWeight = initialWeight / 100 * 95;
    days ++;
}

console.log('дней ' + days);
console.log(initialWeight);

Как по мне, так вообще можно оставить только одно базовое условие: initialWeight > targetWeight. И всё работает.

let initialWeight = 6000; // Исходный вес в граммах
let targetWeight = 5000; // Желанный вес в граммах
let days = 0;

while ( initialWeight > targetWeight ) {
initialWeight *= 0.95;
days++;
}
days;

1 лайк

Запись длиннее и лишние скобки, но мне кажется так более читаемо

let days = 0;

while (initialWeight > targetWeight) {
  initialWeight = initialWeight - (initialWeight / 100 * 5);
  days++;
  }