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

№ 13205. Авторская задача

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

У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Прибавить 1
B. Умножить на 2

Программа для исполнителя – это последовательность команд.
Сколько существует программ, которые преобразуют исходное число 1 в число 24, и при этом никакая команда не повторяется более двух раз подряд?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы BAB при исходном числе 1 траектория состоит из чисел 2, 3, 6.

def f(x, y, path=""):
    # Проверка команд
    if "AAA" in path or "BBB" in path:
        return 0

    if x == y:
        return 1

    if x > y:
        return 0

    if x < y:
        return (f(x + 1, y, path + "A") +
                f(x * 2, y, path + "B"))


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

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

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