Исполнитель Троечка преобразует число, записанное на доске. У Троечки есть две команды:
-
Вычесть 3
-
Умножить на -3
Первая команда уменьшает число на 3, вторая команда умножает его на . Сколько различных отрицательных результатов можно получить из исходного числа 333 в ходе исполнения программы, содержащей ровно 13 команд?
Решение:
Решение на Python:
a = []
def F(x, k):
if k > 13:
return
if k == 13:
if x < 0:
a.append(x)
return
F(x - 3, k + 1)
F(x * (-3), k + 1)
F(333, 0)
print(len(set(a)))
Ответ: 2224
Ответ:
2224