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