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

Просмотры: 179
Изменено: 24 ноября 2024

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

  1. Прибавь \(3\).
  2. Прибавь максимальную цифру.

Команда \(A\) увеличивает число на экране на \(3\); команда \(B\) увеличивает число на экране на его максимальную цифру. Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(10\) результатом является число \(41\) и при этом траектория вычислений содержит число \(24\)? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(23\) траектория состоит из чисел \(26\), \(32\), \(35\).

Решение:

Python


def mdig(n):
    return max(int(x) for x in str(n))

def f(n, t):
    if n > t:
        return 0
    if n == t:
        return 1
    return f(n+3, t) + f(n + mdig(n), t)

print(f(10, 24) * f(24, 41))

Ответ: \(36\)