Задание 23. Информатика. ЕГЭ 2024. Резерв. 19.06.2024

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

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

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

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

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

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

Решение:

Python


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

print(f(32, 8) * f(8, 1))

Ответ: \(42\)