Задание 23. Информатика. ЕГЭ. Шастин. 18.12.2024
- Просмотры: 147
- Изменено: 18 января 2025
(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:
- Вычти \(3;\)
- Найди целую часть от деления на \(2;\)
- Найди целую часть от деления на \(5.\)
Программа для исполнителя - это последовательность команд. Сколько существует программ, для которых при исходном числе \(120\) результатом является число \(6\) и при этом траектория вычислений содержит число \(49\) и не содержит число \(40?\)
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(20\) траектория состоит из чисел \(17,\) \(8,\) \(4.\)
Решение:
Python
def f(n, t):
if n < t or n == 40:
return 0
if n == t:
return 1
return f(n - 3, t) + f(n // 2, t) + f(n // 5, t)
print(f(120, 49) * f(49, 6))
Ответ: \(40\)