var lastNumber = 5; var multiplicationResult = 1; var i = 0; while (i <= lastNumber) { i++; if (i % 2 === 0) { multiplicationResult *= i; } }
var lastNumber = 5;
var multiplicationResult = 1;
for (var i = 1; i <= lastNumber; i++) {
if (i % 2 === 0) {
multiplicationResult *= i;
}
}
Получилось так.
var lastNumber = 19;
var multiplicationResult = 1;
for (var i = 2; i <= lastNumber; i+=2) {
multiplicationResult *= i;
}
Объясните почему с 0 не работает?
for (var i = 0; i <= lastNumber; i+=2) {
multiplicationResult = multiplicationResult*i;
}
потому что первое умножение будет на ноль, соответственно все последующие дадут тоже ноль
А почему последующие тоже будет ноль? Ведь шаг 2, т.е. следующее умножение будет на 2.
multiplicationResult будет 0 после первой итерации, неважно на сколько вы его будете умножать потом.
Лаконично)
let lastNumber = 5;
let multiplicationResult = 1;
for (let i = 2; i <= lastNumber; i += 2) {
multiplicationResult *= i
}
for (let count = 1; count <= lastNumber; count++ ) {
if (!(count % 2)) {
multiplicationResult *= count
}
}