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

Просмотры: 226
Изменено: 24 ноября 2024

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

  • A. Прибавить \(2\).
  • B. Прибавить \(5\).
  • C. Возвести в квадрат.

Программа для исполнителя — это последовательность команд. Например, для программы \(CBA\) при исходном числе \(%\) траектория будет состоять из чисел \(25, \, 30, \, 32.\)

Сколько существует программ, для которых при исходном числе \(4\) результатом является число \(36\) и при этом последняя в них команда — не \(C\)?

Решение:

Python


def f(n, t, com):
    if n > t:
        return 0
    if n == t:
        return int(com != 'C')
    return f(n + 2, t, 'A') + f(n + 5, t, 'B') + f(n**2, t, 'C')

print(f(4, 36, 'X'))

Ответ: \(319\)