Задание 23. Информатика. ЕГЭ 2024. Лещинер-1

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

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

  1. Прибавить \(1\)
  2. Умножить на \(2\)
Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(2\) результатом является число \(23\) и пи этом траектория вычислений содержит число \(10\) и не содержит числа \(17\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(17\).

Решение:

Python


def F(num, target):
    if num > target or num == 17:
        return 0
    if num == target:
        return 1
    return F(num + 1, target) + F(2 * num, target)


print(F(2, 10)*F(10, 23))

Ответ: \(14\)