Задать вопрос
@denisopko
Стремлюсь стать выше)

Как взаимодействуют вложенные циклы?

Вот, есть цикл, который выводит простые числа от 2 до 10:
nextPrime:
for(l et i = 2; i <= 10; i++ ) { 
     for (l et j = 2; j < i; j++ ) { 
        if ( i % j == 0 ) continue nextPrime; 
     }
     alert( i );
}


Я не пойму, как он может продолжать работать, если во вложенном цикле условие УЖЕ возвращает false.

То есть.
Сразу у внешнего цикла возвращается цифра 2 (алгоритм: начало (i = 2), проверка условия (i <= 10, то есть 2 <= 10) , вывод, затем увеличиваем значение на 1 (i++) ).
После того, как внешний цикл возвращает цифру 2 начинает работать вложенный цикл. И получается, такой же самый алгоритм (начало, проверка, вывод). Но, вот тут уже у меня ступор.
Как внутренний цикл продолжает работать, если у него проверка условий получается j < i (2 < 2)? Это ведь false, так как 2 равна двум, а никак не меньше.
Или я не правильно понимаю алгоритм работы циклов?
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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