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