Задача к ЕГЭ по информатике на тему «Количество программ из A в B где траектория вычислений N команда» №3

Исполнитель Лето преобразует число, записанное на доске. У исполнителя есть две команды:

1. Прибавить 2

2. Умножить на 2

Программа для исполнителя Лето – это последовательность команд. Сколько различных результатов можно получить из исходного числа 3 в ходе исполнения программы, содержащей ровно 8 команд?

a = set() # Множество для ответа

# n — текущее число, c — кол-во совершённых команд
def f(n, c):
    if c == 8:
        a.add(n)
    else:
        f(n+2, c+1)
        f(n*2, c+1)

f(3, 0)
print(len(a))

Ответ: 114
Оцените статью
Я решу все!