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

№ 13102. Типовая задача

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

У исполнителя есть две команды:
А. Прибавь 1
B. Поменяй местами

Первая из этих команд увеличивает число на экране на 1.
Вторая команда может применяться только к числу, у которого цифра разряда десятков по значению меньше цифры, стоящей в разряде единиц, и действует, заменяя число на экране числом, в котором цифры двух младших разрядов поменялись местами

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

def f(x, y):
    if x > y:
        return 0

    if x == y:
        return 1

    num = str(x)
    if num[1] < num[2]:
        repl_x = int(num[0] + num[2] + num[1])
        return f(repl_x, y) + f(x + 1, y)
    else:
        return f(x + 1, y)


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

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

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