Добрый день, есть задачка: "Используя циклы и условия, вывести на экран все простые числа, находящиеся в диапазоне от 1 до 100" Нашел на просторах решение, но не могу понять, как здесь работает continue, какие итерации он пропускает PHP: for ($c = 1; $c <= 100; $c++) { for($i = 2; $i < $c; $i++) { if ($c % $i == 0) continue 2; } echo "$c "; } можете наглядно расписать?
https://www.php.net/manual/ru/control-structures.continue.php https://www.php.net/manual/ru/language.operators.arithmetic.php $a % $b Деление по модулю
Это я понимаю, мы смотрим числа, где деление по модулю даёт 0, то есть по условию подходит весь ряд 1..100, но, при добавлении оператора "continue 2", остаётся только ряд простых чисел, читал уже справочные материалы, но никак не могу это визуализировать в голове...
continue 2 - это такая конструкция, которая позволяет сразу перейти к следующей итерации внешнего цикла. PHP: for ($c = 1; $c <= 100; $c++) { // Уровень А for($i = 2; $i < $c; $i++) { // Уровень Б /* Просто continue перешло бы к следующей итерации уровня Б, а continue 2 - сразу же переходит к следующей итерации на уровне А */ /* А если б над уровнем А был ещё один уровень, скажем, 0, то к его следующей итерации можно было бы перейти с помощью continue 3; */ if ($c % $i == 0) continue 2; } echo "$c "; }