Задание 23. Информатика Досрочный экзамен 2022
- Просмотры: 74
- Изменено: 22 ноября 2024
Исполнитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:
Первая из них увеличивает число на экране на \(2\), вторая умножает его на \(2\). Программа для исполнителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(1\) в число \(52\) и при этом траектория вычислений программы содержит число \(16\)?
Решение:
Python
def F(n, target):
if n > target:
return 0
elif n == target:
return 1
else:
return F(n+2, target) + F(2*n, target)
print(F(1, 16) * F(16, 52))
Ответ: 105