Задание 23. Информатика. ЕГЭ. Поляков-7225
- Просмотры: 378
- Изменено: 24 ноября 2024
(М. Шагитов) У исполнителя Калькулятор имеются три команды, которые обозначены латинскими буквами:
А. Прибавить \(3\)
B. Умножить на \(5\)
C. Умножить на \(7\)
Программа для исполнителя — это последовательность команд, каждая из которых изменяет число. Найдите количество программ, для которых при исходном числе \(1\) результатом является число \(1000\), и при этом запрещено использование команды \(B\) сразу после команды \(A\).
Решение:
Python
def f(n, t, p):
if n > t:
return 0
if n == t:
return 1
if p == 'A':
return f(n + 3, t, 'A') + f(n * 7, t, 'C')
else:
return f(n + 3, t, 'A') + f(n * 5, t, 'B') + f(n * 7, t, 'C')
print(f(1, 1000, ''))
Ответ: \(366\)