Задание 23. Информатика. ЕГЭ. Шастин. 19.01.2025

Просмотры: 1280
Изменено: 2 февраля 2025

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

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

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(8\) результатом является число \(35,\) и при этом траектория вычислений не содержит чисел \(20\) и \(30\) одновременно?

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(CBA\) при исходном числе \(7\) траектория состоит из чисел \(14,\) \(17,\) \(19.\)

Решение:

Python


def f(n, flag):
    if n == 20:
        flag = True
    if n > 35 or flag and n == 30:
        return 0
    if n == 35:
        return 1
    return f(n + 2, flag) + f(n + 3, flag) + f(2 * n, flag)

print(f(8, False))

Ответ: \(786\)