Задание 23. Информатика. ЕГЭ. Статград. 24.10.2024-1
- Просмотры: 365
- Изменено: 24 ноября 2024
Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены буквами:
- Вычти \(2\)
- Найди целую часть от деления на \(2\)
- Найди целую часть от деления на \(3\)
Программа для исполнителя – это последовательность команд. Сколько существует программ, которые преобразуют исходное число \(40\) в число \(4\) и при этом траектория вычислений содержит число \(20\)?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы \(BAC\) при исходном числе \(50\) траектория будет состоять из чисел \(25\), \(23\), \(7\).
Решение:
Python
def f(n, t):
if n < t:
return 0
if n == t:
return 1
return f(n - 2, t) + f(n // 2, t) + f(n // 3, t)
print(f(40, 20) * f(20, 4))
Ответ: \(24\)