Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2743384
А
Аноним
06 февраля 2025 10:13 · публичный вопрос
А
Аноним

реши задание на фото

Ответ нейросети
06 февраля 2025 10:13

Для решения задачи мы должны понять, как работают предложенные программы.

Давайте рассмотрим каждую программу по порядку:

  1. Первая программа:

    def N(x):
        if x > 2:
            return 1
        else:
            return N(x-1)*x
    print(N(5))
    
    • Если x > 2, функция вернет 1.
    • Если x <= 2, она рекурсивно вызовет себя с уменьшенным на 1 значением x и умножит результат на x.

    Рассмотрим вызов N(5):

    • N(5) -> x > 2, возвращает 1.

    Значит, первая программа выводит 1.

  2. Вторая программа:

    def N(x):
        if x < 2:
            return 1
        else:
            return N(x-1)+x
    print(N(5))
    
    • Если x < 2, функция вернет 1.
    • Если x >= 2, она рекурсивно вызовет себя с уменьшенным на 1 значением x и прибавит x.

    Рассмотрим вызов N(5):

    • N(5): Нужен N(4) + 5
    • N(4): Нужен N(3) + 4
    • N(3): Нужен N(2) + 3
    • N(2): Нужен N(1) + 2
    • N(1): x < 2, возвращает 1

    Подставляем:

    • N(2) = 1 + 2 = 3
    • N(3) = 3 + 3 = 6
    • N(4) = 6 + 4 = 10
    • N(5) = 10 + 5 = 15

    Значит, вторая программа выводит 15.

  3. Третья программа:

    def N(x):
        if x < 2:
            return 1
        else:
            return N(x-2)+x
    print(N(5))
    
    • Если x < 2, функция вернет 1.
    • Если x >= 2, она рекурсивно вызовет себя с уменьшенным на 2 значением x и прибавит x.

    Рассмотрим вызов N(5):

    • N(5): Нужен N(3) + 5
    • N(3): Нужен N(1) + 3
    • N(1): x < 2, возвращает 1

    Подставляем:

    • N(3) = 1 + 3 = 4
    • N(5) = 4 + 5 = 9

    Значит, третья программа выводит 9.

  4. Четвертая программа:

    def N(x):
        if x < 2:
            return 1
        else:
            return N(x-3)+x
    print(N(5))
    
    • Если x < 2, функция вернет 1.
    • Если x >= 2, она рекурсивно вызовет себя с уменьшенным на 3 значением x и прибавит x.

    Рассмотрим вызов N(5):

    • N(5): Нужен N(2) + 5
    • N(2): Нужен N(-1) + 2
    • N(-1): x < 2, возвращает 1

    Подставляем:

    • N(2) = 1 + 2 = 3
    • N(5) = 3 + 5 = 8

    Значит, четвертая программа выводит 8.

На экран выводится число 17 только из четвертой программы (ответ: 4).