Решение задачи с потребленным протеином в четные и нечетные дни (без циклов)

Доброго времени суток! Целый день ломал голову, но так и не смог придумать, как решить эту задачу с применением циклов. Пришлось изворачиваться как-то так. Буду признателен, если прокомментируете правильным кодом с циклом, спасибо.

/* Техническое задание

Мяу! Программа должна считать сколько протеина я должен выпить за весь тренировочный период.

В чётные дни я пью 200 грамм. В нечётные 100 грамм.

Количество дней хранится в переменной days, количество протеина для приёма в чётный день — в переменной evenDayAmount, протеин в нечётный день — в переменной oddDayAmount, а результат необходимо записать в переменную total, которая уже задана.

*/

var days = 9; // Дней в периоде
var evenDayAmount = 200; // Количество протеина в чётные дни
var oddDayAmount = 100; // Количество протеина в нечётные дни
var total = 0; // Общее количество протеина

var chet; // Количество четных дней
var nechet; // Количество нечетных дней

if (days%2 === 0) {
chet = days/2;
nechet = days - chet;
}
if (days%2 === 1) {
chet = (days -1)/2;
nechet = chet +1;
}
console.log('Количество четных дней: '+ chet);
console.log('Количество нечетных дней: '+ nechet);

total = chetevenDayAmount + nechetoddDayAmount;
console.log('Общее количество протеина: ’ + total);

var days = 9; // Дней в периоде
var period = 3; // Как часто я ем протеин (раз в три дня)
var workDayAmount = 200; // Количество протеина в будние
var weekendAmount = 100; // Количество протеина в выходные
var total = 0;
for (var i = period; i <= days; i += period) {
  if (i % 7 == 6 || i % 7 == 0) {
    total += weekendAmount;
  } else {
    total += workDayAmount;
  }
}

вот тут целый тред посвященный этой задаче

Да, только в этой задаче нет ни слова о переменной period.

Во-вторых, я принимаю протеин каждый третий день

эта фраза в ТЗ ни о чем, да? тем более, что исходно она записана в “дано”. вы её затерли

P.S. доперло, вы задачу привели из теории, а не практики. Из теории даже есть видеоразбор к задаче прям в курсах вшит, рядом с вкладкой “Теория” есть вкладка “Видеоразбор”. Топик на форуме нормально озаглавливайте тогда с номером задачи. Обычно на форуме не рассматривают задачи из теории, ввиду того, что к ним есть видео с разбором.
image

for (var i = 1; i <= days; i++) {
if (i % 2 === 0) {
total +=evenDayAmount;
}
else {
total +=oddDayAmount;
}
}

2 лайка

Это разные задачи. В этой задаче ни слова про “каждый третий день”.

Тред, который вы скинули, посвящён другой задаче, хоть и похожей на эту.
Видеоразбора на эту задачу тоже нет.

Я решила так:

for (let day = 1; day <= days; day++) {
  
  if (day % 2 === 0) {
    total += evenDayAmount;      
    } else {
      total += oddDayAmount;      
      }
  console.log('day: ' + day);
  console.log('total: ' + total); 
}

ничего, что 4 года прошло? с некропостами общаться - такое себе. уже поменяли программу давно уже (все еще полная профанация)