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

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

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

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

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

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

def f(x, y, B=0):
    if x == y:
        return 1
    if x > y:
        return 0
    if B == 1:
        return f(x + 2, y) + f(x * 3, y)
    return f(x + 2, y) + f(x ** 2, y, 1) + f(x * 3, y)


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

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

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