Задание 23. Информатика. ЕГЭ. ЕГКР. 21.12.2024
- Просмотры: 792
- Изменено: 18 января 2025
Исполнитель Калькулятор преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
- вычти \(1\)
- вычти \(6\)
- найди целую часть от деления на \(2\)
Первая команда уменьшает число на экране на \(1,\) вторая команда уменьшает это число на \(6,\) третья команда делит число нацело на \(2.\) Программа для исполнителя — это последовательность команд.
Сколько существует таких программ, которые исходное число \(34\) преобразуют в число \(6\) и при этом траектория вычислений программы содержит числа \(19\) и \(20\) и не содержит числа \(24?\)
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABC\) при исходном числе \(14\) траектория состоит из чисел \(13,\) \(7,\) \(3.\)
Решение:
Python
def f(n, t):
if n < t or n == 24:
return 0
if n == t:
return 1
return f(n - 1, t) + f(n - 6, t) + f(n // 2, t)
print(f(34, 20) * f(20, 19) * f(19, 6))
Ответ: \(230\)