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

Задача 8

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

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

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

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

3.  Прибавить 5.

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

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

Сколько существует программ, которые преобразуют исходное число 1 в число 18 и при этом траектория вычислений содержит число 9 и не содержит числа 11?

Траектория вычислений  — это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 4 траектория будет состоять из чисел 9, 10, 20.

Добавлено: 08.05.26 13:13

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

Решение

Решение на Python:

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

print(f(1, 9) * f(9, 18)) # 57

Ответ: 57

Автор - rubygem17

Объяснение

None

Назад