EGEsoll - сборник решений задач из ЕГЭ

Задача 10

Исполнитель РазДваТри преобразует число на экране.

У исполнителя есть три команды, которым присвоены номера.

1.  Прибавить 1.

2.  Умножить на 2.

3.  Умножить на 3.

Программа для исполнителя РазДваТри  — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 1 в число 40 и при этом траектория вычислений содержит число 12 и не содержит числа 14?

Добавлено: 17.05.26 09:13

Перейти к решению

Решение

Решение на Python:

def f(s, e):
    if s == e:
        return 1
    if s > e or s == 14:
        return 0
    return f(s+1, e) + f(s*2, e) + f(s*3, e)

print(f(1, 12)*f(12,40)) # 152

Ответ: 152

Автор - rubygem17

Объяснение

None

Назад