OpenFIPI 2.0
23
5
20B163
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Вычти 1
B. Найди целую часть от деления на 2
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 30 результатом является число 1 и при этом траектория вычислений содержит число 8?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе 10 траектория состоит из чисел 9, 4, 2.
288
def f(a, b):
if a < b:
return 0
if a == b:
return 1
return f(a - 1, b) + f(a // 2, b)
print(f(30, 8), f(8, 1))
Просмотреть отправленные ответы 20B163