Задание 23. Информатика. ЕГЭ. Шастин. 19.01.2025
- Просмотры: 1280
- Изменено: 2 февраля 2025
(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:
- Прибавить \(2\)
- Прибавить \(3\)
- Умножить на \(2\)
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(8\) результатом является число \(35,\) и при этом траектория вычислений не содержит чисел \(20\) и \(30\) одновременно?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(CBA\) при исходном числе \(7\) траектория состоит из чисел \(14,\) \(17,\) \(19.\)
Решение:
Python
def f(n, flag):
if n == 20:
flag = True
if n > 35 or flag and n == 30:
return 0
if n == 35:
return 1
return f(n + 2, flag) + f(n + 3, flag) + f(2 * n, flag)
print(f(8, False))
Ответ: \(786\)