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