Задание 23. Информатика. ЕГЭ. Апробация. 05.03.2025
- Просмотры: 599
- Изменено: 6 марта 2025
Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
- Вычти \(1\)
- Найди целую часть от деления на \(2\)
Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе \(30\) результатом является число \(1,\) и при этом траектория вычислений содержит число \(12?\)
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(10\) траектория состоит из чисел \(9, \, 4, \, 2.\)
Решение:
Python
def f(n, targ):
if n < targ:
return 0
if n == targ:
return 1
return f(n - 1, targ) + f(n // 2, targ)
print(f(30, 12) * f(12, 1))
Ответ: \(376\)