Исполнитель Лето преобразует число, записанное на доске. У исполнителя есть две команды:
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