Задание 23. Информатика. ЕГЭ. Статград. 04.03.2025

Просмотры: 498
Изменено: 5 марта 2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены буквами.

  1. Прибавь \(1\)
  2. Умножь на \(2\)

Программа для исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число \(3\) в число \(36,\) и при этом в процессе вычислений на экране ни разу не появляется цифра \(2?\)

Решение:

Python


def f(n, targ):
    if n > targ or n // 10 == 2 or n % 10 == 2:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ) + f(2 * n, targ)

print(f(3, 36))

Ответ: \(13\)