№13 · решено
«содержит» и «не содержит»
Исполнитель преобразует число на экране. У исполнителя три команды: A. Прибавить 1 B. Прибавить 2 C. Умножить на 2 Сколько существует программ, для которых при исходном числе 3 результатом является число 20, при этом траектория вычислений содержит число 7 и не содержит число 10? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе 7 траектория состоит из чисел 14, 16, 17.
Источник: ФИПИ (Резервная 19.06.2025), № 23380
Ответвпиши то, что вывела программа
Показать разбор
- Команды идут вверх, поэтому бери шаблон с отсечкой x > end.
- Строку x == end оставь первой, а под ней запрети число 10: верни 0.
- Сложи ответы по всем командам: +1, +2 и ×2.
- Траектория обязана пройти через 7, поэтому раздели путь на два куска: из 3 в 7 и из 7 в 20.
- Перемножь число программ в кусках и выведи результат.
def f(x, end):
if x == end: return 1
if x == 10: return 0
if x > end: return 0
return f(x + 1, end) + f(x + 2, end) + f(x * 2, end)
print(f(3, 7) * f(7, 20))