23 ЗАДАНИЕ ЕГЭ ИНФОРМАТИКА
как решить рекурсией?
Некий исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которым при своены номера:
1. Прибавь 5
2. Прибавь 10
3. Умножь на последнюю цифру текущего числа
Первая из них увеличивает число на 5, вторая увеличивает число на 10, а третья умножает число на последнюю цифру его десятичной записи. Программа для исполнителя - это последовательность команд.
Сколько существует программ, которые преобразуют исходное число 10 в число 220, если известно, что любая из команд увеличивает число?
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
1234567891011121314
from functools import cache
@cache
def f(n):
if n > 220:
return 0
if n == 220:
return 1
ways, r = f(n + 5) + f(n + 10), n % 10
if r > 1:
ways += f(r * n)
return ways
print(f(10))
P.S. Почему не даёте бан троллям?!
345
НЕ ЗНАЮ
НЕ БУДУ РЕШАТЬ
Больше по теме