var days = 9; // Дней в периоде
var period = 3; // Как часто я ем протеин (раз в три дня)
var workDayAmount = 200; // Количество протеина в будние
var weekendAmount = 100; // Количество протеина в выходные
var total=0
for (var day=1; day<=days; day++) {
if (day%period==0) {
if ((day + 1) % 7 === 0 ) {
total+=weekendAmount;}
else {total+=workDayAmount;}
}
}
var days = 9; // Дней в периоде
var evenDayAmount = 200; // Количество протеина в чётные дни
var oddDayAmount = 100; // Количество протеина в нечётные дни
var total = 0; // Общее количество протеина
for (var i = 1; i <= days; i++) {
if (i % 2 == 0) {
total += evenDayAmount;
} else {
total += oddDayAmount;
}
}
var days = 9; // Дней в периоде
var period = 3; // Как часто я ем протеин (раз в три дня)
var workDayAmount = 200; // Количество протеина в будние
var weekendAmount = 100; // Количество протеина в выходные
var total = 0;
for(var i = 3; i <= days; i += period){
if(i % 7 === 0){
total += 100;
}
else if(i % 7 === 6){
total += 100;
}
else{
total += 200;
}
}
Сначала не мог решить нормально, нашел лазейку,но через костыли.
Потом решил посмотреть подсказку. Не понял зачем перебирать каждый день, а не использовать период. Решил все таки делать через период. А вот подсказка по определению дня с помощью остатка по делению была реально дельная, сам не допер.
Это самое адекватное решение которое у меня вышло. На мой взгляд сносно.
var days = 9; // Дней в периоде
var evenDayAmount = 200; // Количество протеина в чётные дни
var oddDayAmount = 100; // Количество протеина в нечётные дни
var total = 0; // Общее количество протеина
for (var i = 1; i <= days; i++ ) {
if (i % 2 ===0) {
total += evenDayAmount;
console.log(‘Чётный день’);
} else {
if (i % 2 !==0) {
total += oddDayAmount;
console.log(‘Нечётный день’);
}
}
}
еще так можно
var days = 9; // Дней в периоде
var period = 3; // Как часто я ем протеин (раз в три дня)
var workDayAmount = 200; // Количество протеина в будние
var weekendAmount = 100; // Количество протеина в выходные
var total=Math.floor(days/period)*200;
for(var i=1;i<=days;i+=2){
if (i%6==0 || i%7==0){
total-=100;}
}
var days = 9; // Дней в периоде
var period = 3; // Как часто я ем протеин (раз в три дня)
var workDayAmount = 200; // Количество протеина в будние
var weekendAmount = 100; // Количество протеина в выходные
var total = 0;
for(let i=1; i<=days; i++){
if(i%period === 0){
if(i%7 === 0 || i%7 === 6){
total += weekendAmount
} else {
total += workDayAmount
}
}
}
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
for (days; days>0; days--)
if (days%2==0) {
total += evenDayAmount;
}
else {
total += oddDayAmount;}
console.log (total)
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
for (let i = 1; i <= days; i++) {
if (i % 2 === 0) {
total += evenDayAmount;} else {total += oddDayAmount;}
}
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
for (var day = 1; day <= days; day++) {
if (day % 2 === 0) {
total += evenDayAmount;
} else {
total += oddDayAmount;
};
};
Ребят, поясните для чего объявлять period, если по текущему заданию создается впечатление что протеин употребляется каждый день. Откуда убеждение что раз в три дня? Это условие было до обновления тренажера мб?
В итоге остановился на таком решении. Что я упустил, все ли правильно?
Какие-то доп. проверки еще должны быть?
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
for (let day = 1; day <= days; day++) {
if(day % 2 === 0) {
total += evenDayAmount;
} else {
total += oddDayAmount;
}
console.log('В ' + day + ' день, должен выпить ' + total + ' мл. протеина')
}
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
for (let i = 1; i <= days; i++) {
if ( i % 2 === 1) {
total += oddDayAmount;
} else {
total += evenDayAmount;
}
}
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
let temp=0;
for (let i = 1; i<=days;i+=2){
temp+=oddDayAmount;
}
oddDayAmount=temp;
temp=0;
for (let i = 2; i<=days;i+=2){
temp+=evenDayAmount;
}
evenDayAmount=temp;
у меня такое решение получилось
for (let day = 1; day <= days; day+=2){
console.log(day)
total += oddDayAmount
console.log(total);
if(days > day){
total += evenDayAmount
}
}
Привет. Подскажите, пожалуйста, почему происходит так, как происходит.
let days = 15; // Дней в периоде
let period = 3; // Как часто я ем протеин (раз в три дня)
let workDayAmount = 200; // Количество протеина в будние
let weekendAmount = 100; // Количество протеина в выходные
let counterWeekDays = 0;
let counterDays = 0;
let total = 0;
} else if (counterWeekDays < 6 && counterDays === 3) {
total = total + workDayAmount;
} else if (counterWeekDays >= 6 && counterDays === 3) {
total = total + weekendAmount;
}
}
Проблема заключается в том, что когда счетчик дней недели сбрасывается, и в эту же итерацию выпадает день приема, то значение total не увеличивается. То есть, на каждой итерации, в которой происходит увеличение счетчика counterWeekDays программа увеличивает значение total, при условие, что значение counterDays === 3, но, если значение counterDays === 3 и в этой же итерации счетчик был сброшен, а именно стал 1, то total не увеличивается.
let days = 9; // Дней в периоде
let evenDayAmount = 200; // Количество протеина в чётные дни
let oddDayAmount = 100; // Количество протеина в нечётные дни
let total = 0; // Общее количество протеина
for(let i = 1; i <= days; i++){
if(i % 2 == 0){
total += evenDayAmount
}
else{
total += oddDayAmount
}
}