Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены буквами:
A. Прибавить 2
B. Возвести в квадрат
C. Умножить на 3
Программа для исполнителя – это последовательность команд.
Сколько существует программ, которые преобразуют исходное число 6 в число 88, и при этом после выполнения команды B можно выполнить только команду A или C?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы BAC при исходном числе 2 траектория будет состоять из чисел 4, 6, 18.
def f(x, y, B=0):
if x == y:
return 1
if x > y:
return 0
if B == 1:
return f(x + 2, y) + f(x * 3, y)
return f(x + 2, y) + f(x ** 2, y, 1) + f(x * 3, y)
print(f(6, 88))
