@bonchev1

Почему получаются разные значения у циклов «while» и «for»?

// посчитать сумму чисел от 0 до 100, если число делится на 3
// или на 5 не включать его в сумму

'use strict';

let i = 0;
let sum = 0;
let sumFor = 0;

while (i < 101) {
i++;
if (i % 5 === 0 || i % 3 === 0) {
continue;
}
sum = sum + i;
}
console.log(sum);

for (let i = 0; i < 101; i++) {
if (i % 5 === 0 || i % 3 === 0) {
continue;
}
sumFor = sumFor + i;
}
console.log(sumFor);
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
REZ1DENT3
@REZ1DENT3
web-developer
For увеличивает счётчик после выполнения кода в теле цикла
if (i % 5 === 0 || i % 3 === 0) {
    continue;
}
sumFor = sumFor + i;


А в цикле while, вы увеличиваете счётчик перед телом цикла.
Предлагаю заменить код на этот
while (i < 101) {
    if (i % 5 === 0 || i % 3 === 0) {
        i++;
        continue;
    }
    sum = sum + i;
    i++;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы