В задачах этого листка могут быть полезны две инструкции управляющие циклом:
break
и continue
. Инструкция break
нужна для прерывания
цикла, инструкция continue
используется для пропуска оставшейся части цикла
и продолжения цикла со следующей итерации.
Инструкция break
прерывает выполнение цикла, управление при этом немедленно
передается на следующую после цикла инструкцию.
Инструкция continue
продолжает выполнение цикла со следующей итерации:
после выполнение инструкции continue
все следующие после нее в блоке цикла инструкции
не выполняются, в цикле for
выполняется итератор (третий параметр цикла, например, ++i
),
после чего проверяется условие (во всех видах циклов)
и в зависимости от его значения выполняется или не выполняется тело цикла.
Как правило, инструкции break
и continue
используются вместе с инструкцией if
.
После каждой из этих инструкций должна стоять точка с запятой.
Пример:
for(i=0;i<100;++i) { if(i%3==0) continue; cout<<i<<endl; // Выполнить еще какие-нибудь действия }
В этом примере переменная i
в цикле принимает значения от 0 до 99.
Внутри цикла проверяется условие и если i делится на 3, то оставшаяся часть цикла пропускается,
и на экран будут напечатаны только те значения i
, которые не делятся на 3.
Возможное применение инструкции break
: в программе проверки числа на простоту
прервать выполнение цикла, если найден делитель.
132
программа
должна вывести 2 2 3 11
. Время работы программы должно быть пропорционально
корню из n.
n
найдите такое представление: напечатайте
от 1 до 4 натуральных чисел, квадраты которых дают в сумме данное число
(то есть при вводе 7
программа должна вывести 2 1 1 1
).
35
программа должна вывести 3 2
.
Если такое представление невозможно, выведите строку
impossible
.