Задание 23. Информатика. ЕГЭ. Шастин. 4.10.2024
- Просмотры: 272
- Изменено: 24 ноября 2024
(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:
- A. Вычесть \(4\).
- B. Вычесть \(7\).
- C. Извлечь целый корень.
Команда \(A\) вычитает из числа на экране \(4\); команда \(B\) вычитает из числа на экране \(7\); команда \(C\) извлекает из числа корень (в случае нецелого результата значение округляется до ближайшего меньшего целого).
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(44\) результатом является число \(3\) и при этом траектория вычислений содержит число \(22\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(20\) траектория состоит из чисел \(16\), \(9\), \(2\).
Решение:
Python
from math import floor
def f(n, target):
if n < target:
return 0
if n == target:
return 1
return f(n - 4, target) + f(n - 7, target) + f(floor(n**0.5), target)
print(f(44, 22) * f(22, 3))
Ответ: \(54\)