ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 13010. Типовые варианты

Исполнитель Троечка преобразует число, записанное на доске.

У Троечки есть две команды:
A. Вычесть 3
B. Умножить на -3

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

from functools import lru_cache


@lru_cache(None)
def f(x, cnt=0):
    if cnt == 13 and x < 0:
        return {x}
    if cnt > 13:
        return set()
    return f(x - 3, cnt + 1) | f(x * (-3), cnt + 1)


print(len(f(333)))
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие