Задание 23. Информатика. ЕГЭ. Поляков-7572

Просмотры: 13
Изменено: 6 сентября 2024

(ЕГЭ-2024) У исполнителя имеются две команды, которые обозначены латинскими буквами:

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

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

Решение:

Python


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

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

Ответ: \(54\)