РУҚА
6

Решение: Максимальное значение переменной

ЕГЭ · Информатика · Задание 6 · Основы программирования
ПовышеннаяФИПИ5A5200Короткий ответ≈ 4 минутыРазбор в 5 шаговОтвет сверен с ключом
Условие

Определите, при каком наибольшем введённом значении переменной $s$ программа выведет число 4. Для Вашего удобства программа представлена на четырёх языках программирования.

Python
1s = int(input())
2s = (s - 21) // 10
3n = 1
4while s >= 0:
5    n = n * 2
6    s = s - n
7print(n)
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

После выполнения первого присваивания обозначим значение переменной $s$ через $t$:

$$t = \left\lfloor \dfrac{s - 21}{10} \right\rfloor$$
2

Изначально $n = 1$. При первой итерации цикла $n$ принимает значение 2, а при второй — значение 4.

3

Чтобы цикл выполнился ровно два раза, перед первой итерацией должно быть $t \geq 2$, а после вычитания 2 и 4 должно стать отрицательное значение: $t - 2 - 4 < 0$. Следовательно, $2 \leq t < 6$.

4

Максимальное подходящее целое значение $t$ равно 5. Тогда:

$$\left\lfloor \dfrac{s - 21}{10} \right\rfloor = 5$$

Из условия $5 \leq (s - 21)/10 < 6$ получаем $71 \leq s < 81$. Наибольшее целое значение $s$ равно 80.

Ответ
80
80
так ответ выглядит в бланке

Где здесь ошибаются

Забывают, что значение $n$ изменяется до проверки следующей итерации.

Берут границу $s = 81$, при которой цикл выполняется ещё один раз и программа выводит 8.

Неверно учитывают целочисленное деление при вычислении первого значения $s$.

Закрепить приёмВ теме «Основы программирования» ещё 159 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 6 ЕГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Основы программирования»: в ней 160 задач, и у каждой есть такой же разбор. Регистрация не нужна.