← Все вопросы
Задание 5 ЕГЭ (исполнители/алгоритмы) — как к нему подступиться?
11
В задании 5 дан алгоритм-исполнитель: к числу что-то прибавляют, дописывают цифру, переводят в другую систему и т.п. Нужно найти наименьшее/наибольшее число с каким-то свойством. Руками перебирать долго. Как решать стабильно?
3 ответа
13
✓ Принятый ответ — помог автору
Не решай руками — напиши функцию-исполнитель и перебери диапазон. Берёшь правило из условия, оформляешь его как функцию f(n), прогоняешь все n в нужном диапазоне и фильтруешь по условию.
def f(n):
# пример: пока число чётное — делим на 2, иначе прибавляем 3
while n % 2 == 0:
n //= 2
return n
for n in range(1, 1000):
if f(n) == 17: # условие из задачи
print(n)
break # наименьшее
Главное — аккуратно перенести правила исполнителя в код и не перепутать порядок команд. Дальше перебор делает всё за тебя.
Оксана Соколова вот это подход, а я реально руками мучился · 1 месяц назад
Карина Никитина автор: топ, спасибо · 1 месяц назад
6
Симулируй исполнитель функцией и перебирай диапазон циклом for. 90% таких заданий — это перебор.
2
Через перебор range().
Ваш ответ
Войдите, чтобы ответить на вопрос.