Задание 23. Информатика. ЕГЭ. Шастин. 9.2.2025
- Просмотры: 395
- Изменено: 10 февраля 2025
(Д. Бахтиев) Исполнитель Калькулятор преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
- Вычти \(3\)
- Подели на \(2\)
Первая команда уменьшает число на экране на \(3\), вторая команда делит число на \(2\) (результат округляется в большую сторону в случае нецелого представления). Программа для исполнителя — это последовательность команд.
Сколько существует таких программ, которые исходное число \(69\) преобразуют в число \(14,\) и при этом траектория вычислений не содержит чисел \(26\) и \(30\)?
Траектория вычислений программы - это последовательность результатов выполнения всех команд программы. Например, для программы АВА при исходном числе \(100\) траектория состоит из чисел \(97, \, 49, \, 46.\)
Решение:
Python
from math import ceil
def f(n, t, deny):
if n < t or n in deny:
return 0
if n == t:
return 1
return f(n -3, t, deny) + f(ceil(n / 2), t, deny)
print(f(69, 14, (26, 30)))
Ответ: \(5\)