Подсчёт числа проходов цикла for

Тело цикла выполнится пять раз: при k, равном 12, 10, 8, 6 и 4. После следующего уменьшения k станет 2, и условие k > 3 окажется ложным.

Короткий ответ

Что ответить на собеседовании

Тело цикла выполнится пять раз: при k, равном 12, 10, 8, 6 и 4. После следующего уменьшения k станет 2, и условие k > 3 окажется ложным.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо определить, сколько раз будет выполнен приведённый ниже цикл.

for (int k = 12; k > 3; k -= 2) {}

Ответ

Тело цикла выполнится пять раз: при k, равном 12, 10, 8, 6 и 4. После следующего уменьшения k станет 2, и условие k > 3 окажется ложным.

В for сначала один раз выполняется инициализация, затем перед каждой итерацией проверяется условие. Шаг k -= 2 выполняется после тела, включая пятую итерацию.

Таким образом, проверок условия будет шесть, а выполнений тела — пять. Значение 3 вообще не встречается в этой последовательности. Пустое тело не меняет логического подсчёта, хотя компилятор может удалить ненаблюдаемый цикл при оптимизации.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее