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

Задача 2

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

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

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

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

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

Первая команда увеличивает число на экране на 1, вторая умножает его на 2, третья умножает его на 3.

Программа для исполнителя РазДваТри — это последовательность команд.

Сколько существует программ, которые преобразуют исходное число 3 в число 50 и при этом траектория вычислений содержит число 15 и не содержит числа 33?

Добавлено: 29.03.26 11:59

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

Решение

Приведём решение на Python:

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

print(f(3, 15) * f(15, 50))  # 121

Ответ: 121

Автор - rubygem17

Объяснение

None

Назад