Задание 23. Информатика. ЕГЭ. Шастин. 19.09.2024
- Просмотры: 373
- Изменено: 24 ноября 2024
(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:
- Вычесть \(2\)
- Вычесть \(3\)
- Найти целую часть от деления на \(4\)
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(36\) результатом является число \(13\), при этом траектория вычислений не содержит числа \(24?\)
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(CBA\) при исходном числе \(51\) траектория будет состоять из чисел \(12\), \(9\), \(7\).
Решение:
Python
def f(num, target, deny):
if num < target or num == deny:
return 0
if num == target:
return 1
return f(num - 2, target, deny) + f(num - 3, target, deny) + f(num // 4, target, deny)
print(f(36, 13, 24))
Ответ: \(157\)