РУҚА
6

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

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

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

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

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

6 шагов
1

Обозначим через $t$ значение переменной после первой строки преобразования:

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

Чтобы программа вывела $32$, цикл должен выполниться пять раз. Значения переменной $n$ при этом последовательно равны $2$, $4$, $8$, $16$, $32$.

3

Перед пятым выполнением цикла значение $t$ должно быть не менее суммы первых четырёх вычитаний:

$$t \geq 2 + 4 + 8 + 16 = 30$$
4

После пятого выполнения цикл должен завершиться, поэтому:

$$t - (2 + 4 + 8 + 16 + 32) < 0,\quad t < 62$$
5

Максимальное целое значение $t$ равно $61$. Следовательно:

$$61 \leq \frac{s - 21}{10} < 62$$

Наибольшее целое значение $s$, удовлетворяющее условию, равно:

$$s = 10 \cdot 61 + 21 + 9 = 640$$
Ответ
640
640
так ответ выглядит в бланке

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

Забывают, что первое умножение увеличивает n с 1 до 2.

Учитывают только условие для входа в цикл и не проверяют его завершение после пятого выполнения.

Получают 631 как минимальное, а не максимальное значение s.

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

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

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

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