Условие: № 5640 (Уровень: Средний)
• Статья подготовлена командой itpy, подписывайтесь на наш телеграм канал! Исполнитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 4
B. Вычти сумму цифр числа Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 36 результатом является число 2, и при этом траектория вычислений содержит число 14?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ABA при исходном числе 33 траектория будет состоять из чисел 29, 18, 14. Решение через Python: def MySum(x):
summ = sum([int(i) for i in str(x)])
return summ
def F(a, b):
if a < b:
return 0
elif a == b:
return 1
else:
return F(a-4, b) + F(a - MySum(a), b)
print(F(36, 14) * F(14, 2)) Комментарии к первому решению: def MySum(x):
summ = sum([int(i) fo