Доброго времени суток! Целый день ломал голову, но так и не смог придумать, как решить эту задачу с применением циклов. Пришлось изворачиваться как-то так. Буду признателен, если прокомментируете правильным кодом с циклом, спасибо.
/* Техническое задание
Мяу! Программа должна считать сколько протеина я должен выпить за весь тренировочный период.
В чётные дни я пью 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. доперло, вы задачу привели из теории, а не практики. Из теории даже есть видеоразбор к задаче прям в курсах вшит, рядом с вкладкой “Теория” есть вкладка “Видеоразбор”. Топик на форуме нормально озаглавливайте тогда с номером задачи. Обычно на форуме не рассматривают задачи из теории, ввиду того, что к ним есть видео с разбором.
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 года прошло? с некропостами общаться - такое себе. уже поменяли программу давно уже (все еще полная профанация)