Задача к ЕГЭ по информатике на тему «Количество программ из A в B (на убывание)» №1

Исполнитель решил сыграть в игру. Он преобразовывает числа на доске с помощью трёх команд:

1. Вычесть 2

2. Вычесть 3

3. Извлечь корень

Первые две команды уменьшают число на доске на 2 и 3 соответственно, третья команда — извлекает из числа квадратный корень, если число является квадратом любого числа. Программа для такого исполнителя — это последовательность команд.

Сколько существует программ, которые преобразуют исходное число 25 в число 3?

def F(x, y):
    if x == y:
        return 1
    if x < y:
        return 0
    if x > y:
        return F(x - 2, y) + F(x - 3, y) + (F(pow(x, 0.5), y) if x >= 0 else 0)

print(F(25, 3))

Ответ: 238
Оцените статью
Я решу все!