Step 12 (S-41483)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/536/step/12

Управление циклами

В предыдущем степе упомянут оператор break, который используется для выхода из цикла. Рассмотрим его действие на следующем примере.

int a = 323;
int b = 2;
while ( b <= a ) { 
    if ( a % b == 0 )
        break; // выйти из цикла
    b = b + 1;
}


После выполнения этого цикла мы найдём минимальное целочисленное b > 1 такое, что а делится на b, т.е. найдём наименьший простой делитель числа a. В данном случае b будет равен 17, т.к. 323 = 17 × 19.

Ещё один оператор, который можно использовать с циклами — это операторcontinue.Оператор continue прерывает текущую итерацию цикла и переходит к следующей. Например, можно посчитать сумму всех чисел от 1 до 100, которые не делятся на 17 или 19, следующим образом.

int sum = 0;
for ( int i = 1; i <= 100; ++i ) {
    if ( (i % 17 == 0) || (i % 19 == 0) )
        continue; // перейти к следующей итерации
    sum += i;
}