Условие: № 8479 (Уровень: Базовый) (В. Рыбальченко) Исполнитель Великий Изменитель преобразует число, записанное на доске. У Великого Изменителя есть три команды: 1. Вычти 5
2. Вычти 4
3. Раздели на 2 Первая команда уменьшает число на 5, вторая команда уменьшает его на 4, третья команда применяется только к четным числам и делит их на 2. Сколько существует программ, для которых при исходном числе 100 результатом является число 2, а траектория вычислений обязательно содержит числа 73, 22 и не содержит число 50? def f(a, b):
if a < b or a == 50:
return 0
elif a == b:
return 1
else:
if a % 2 == 0:
return f(a - 5, b) + f(a - 4, b) + f(a // 2, b)
else:
return f(a - 5, b) + f(a - 4, b)
print(f(100, 73) * f(73, 22) * f(22, 2)) Комментарии к коду программы: def f(a, b):
if a <= b or a == 50:
return a == b
if a % 2 == 0:
return f(a - 5, b) + f(a - 4, b) + f(a // 2, b)
else:
return f(a - 5,