Задание 23. Информатика. ЕГЭ. Апробация. 05.03.2025-2

Просмотры: 547
Изменено: 15 марта 2025

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

  1. Вычти \(2\)
  2. Найди целую часть от деления на \(2.\)

Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе \(38\) результатом является число \(2,\) и при этом траектория вычислений содержит число \(16?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(13\) траектория состоит из чисел \(11,\) \(5,\) \(2.\)

Решение:

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n - 2, targ) + f(n // 2, targ)

print(f(38, 16) * f(16, 2))

Ответ: \(36\)