Задание 23. Информатика. ЕГЭ. Статград. 04.03.2025
- Просмотры: 498
- Изменено: 5 марта 2025
Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены буквами.
- Прибавь \(1\)
- Умножь на \(2\)
Программа для исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число \(3\) в число \(36,\) и при этом в процессе вычислений на экране ни разу не появляется цифра \(2?\)
Решение:
Python
def f(n, targ):
if n > targ or n // 10 == 2 or n % 10 == 2:
return 0
if n == targ:
return 1
return f(n + 1, targ) + f(2 * n, targ)
print(f(3, 36))
Ответ: \(13\)