Задание 23. Информатика. ЕГЭ 2024. Основная волна. 07.06.2024

Просмотры: 10
Изменено: 7 сентября 2024

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

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

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

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

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

Решение:

Python


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

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

Ответ: \(288\)