Задание 23. Информатика. 2023-13
- Просмотры: 98
- Изменено: 24 ноября 2024
Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
Первая команда увеличивает число на экране на \(2\), вторая умножает его на \(2\), третья умножает его на \(3\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(24\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(36\)
Решение:
Python
def f(n, target):
if n == target:
return 1
if n > target:
return 0
return f(n+2, target) + f(n*2, target) + f(n*3, target)
print(f(1, 6) * f(6, 24))
Ответ: \(40\)