Задание 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\)