Предмет: Информатика,
автор: Obernikhin
Исполнитель Калькулятор преобразует число на экране. У исполнителя есть две команды, которым присвоены
номера:
1. Прибавить 1
2. Умножить на 4
Программа для исполнителя Калькулятор - это последовательность команд. Сколько существует программ, для
которых при исходном числе 2 результатом работы является число 80, и при этом траектория вычислений
содержит число 10 и не содержит число 30?
Ответы
Автор ответа:
0
Программа:
k = 0
def cnt(start, finish, miss):
if finish < start or finish == miss:
return 0
elif finish == start:
return 1
else:
global k
k = cnt(start, finish - 1, miss)
if finish % 4 == 0:
k += cnt(start, finish / 4, miss)
return k
print(cnt(2, 10, 30) * cnt(10, 80, 30))
Результат работы программы:
22
MrSolution:
Можно и руками решить, но здесь код простой.
Похожие вопросы
Предмет: Английский язык,
автор: Nika11111122222
Предмет: Английский язык,
автор: unnamed0
Предмет: Окружающий мир,
автор: катрин196
Предмет: Математика,
автор: diana9219
Предмет: Астрономия,
автор: xlou6