РУҚА
6

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

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

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

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

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

3 шага
1

После каждого выполнения цикла значение $n$ удваивается. Чтобы программа вывела 64, цикл должен выполниться шесть раз.

$$1 \cdot 2^6 = 64$$
2

За шесть итераций из переменной $s$ последовательно вычитаются числа $1, 2, 4, 8, 16, 32$. Для начала шестой итерации после первых пяти вычитаний должно оставаться положительное значение.

$$s' - (1+2+4+8+16) > 0 \Rightarrow s' \geq 32$$

При этом после шестого вычитания цикл должен завершиться, поэтому $s' \leq 63$. Для минимального исходного значения достаточно найти минимальное $s$, при котором $s' = (s+21) \mathbin{//} 10 \geq 32$.

$$\left\lfloor\dfrac{s+21}{10}\right\rfloor \geq 32 \Rightarrow s+21 \geq 320 \Rightarrow s \geq 299$$
Ответ
299
299
так ответ выглядит в бланке

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

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

Забывают, что после шестого выполнения значение $n$ становится равным 64.

Неверно выполняют целочисленное деление на 10.

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

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

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

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