Задание 23. Информатика. ЕГЭ. Поляков-7224

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

(М. Шагитов) У исполнителя Калькулятор имеются три команды, которые обозначены латинскими буквами:

А. Прибавить \(2\)
B. Прибавить \(3\)
C. Умножить на \(4\)

Программа для исполнителя — это последовательность команд, каждая из которых изменяет число. Найдите количество программ, для которых при исходном числе \(1\) результатом является число \(50\), и при этом запрещено использование команды \(А\) сразу после команды \(С\).

Решение:

Python


def f(n, t, p):
    if n > t:
        return 0
    if n == t:
        return 1
    if p == 'C':
        return f(n + 3, t, 'B') + f(n * 4, t, 'C')
    return f(n + 2, t, 'A') + f(n + 3, t, 'B') + f(n * 4, t, 'C')

print(f(1, 50, ''))

Ответ: \(484575\)