
№ 8479 (Уровень: Базовый)
(В. Рыбальченко) Исполнитель Великий Изменитель преобразует число, записанное на доске. У Великого Изменителя есть три команды:
1. Вычти 5
2. Вычти 4
3. Раздели на 2
Первая команда уменьшает число на 5, вторая команда уменьшает его на 4, третья команда применяется только к четным числам и делит их на 2.
Сколько существует программ, для которых при исходном числе 100 результатом является число 2, а траектория вычислений обязательно содержит числа 73, 22 и не содержит число 50?

Комментарии к коду программы:
def f(a, b): - Создаем функцию f, которая принимает два аргумента: a - траектория движения, b - точка выхода.if a < b or a == 50: - Проверяем, меньше ли значение a значения b или равно ли значение a 50 (траектория не содержит).return 0 - Возвращаем значение 0, если идя по траектории мы проскакиваем точку выхода b или попадаем на 50.elif a == b: - Проверяем, равно ли значение a значению b.return 1 - Возвращаем значение 1, если идя по траектории мы попадаем в нашу точку выхода b.else: - В противном случае мы находимся в пути, значит вызываем рекурсию.if a % 2 == 0: - Проверяем, является ли значение a четным числом.