Задание 23. Информатика. ЕГЭ. Шастин. 18.12.2024

Просмотры: 147
Изменено: 18 января 2025

(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:

  1. Вычти \(3;\)
  2. Найди целую часть от деления на \(2;\)
  3. Найди целую часть от деления на \(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\)