
Задача 2. Ниже записаны две рекурсивные функции: Fи G. Python def F(n): if n>2: return
F(n-1)+G(n-1)+F(n-2) else: return n def G(n): if n>2: return G(n-1)+F(n-1)+G(n-2) else: return n+1 Чему будет равно значение, вычисленное при выполнении вызова G(5)?

Ответы на вопрос

Ответ:
будет равен 38, вызываешь print(G(5))
Объяснение:



Для вычисления значения G(5) мы можем использовать рекурсивные определения функций F и G, следуя шагам вызова функции G(5).
G(5) вызывает G(4) и F(4):
- G(5) = G(4) + F(4) + G(3)
Далее, G(4) вызывает G(3) и F(3):
- G(5) = (G(3) + F(3) + G(2)) + F(4) + G(3)
G(3) вызывает G(2) и F(2):
- G(5) = ((G(2) + F(2) + G(1)) + (F(2) + G(2) + F(1)) + G(2)) + F(4) + G(3)
Теперь мы можем заметить, что G(2) и F(2) оба равны 2 (из базовых случаев в определениях функций), и G(1) и F(1) равны 1. Подставив эти значения, мы получим:
G(5) = ((2 + 2 + 1) + (2 + 2 + 1) + 2) + F(4) + G(3)
Теперь мы можем рассмотреть F(4) и G(3). F(4) вызывает F(3) и G(3), а G(3) вызывает G(2) и F(2). Мы уже знаем значения для F(2) и G(2):
F(2) = 2 G(2) = 2
Таким образом:
F(3) = F(2) + G(2) + F(1) = 2 + 2 + 1 = 5 G(3) = G(2) + F(2) + G(1) = 2 + 2 + 1 = 5
Теперь мы можем рассчитать F(4):
F(4) = F(3) + G(3) + F(2) = 5 + 5 + 2 = 12
Итак, мы можем подставить значения в исходное уравнение G(5):
G(5) = ((2 + 2 + 1) + (2 + 2 + 1) + 2) + F(4) + G(3) G(5) = (5 + 5 + 2) + 12 + 5 G(5) = 24 + 12 + 5 G(5) = 41
Итак, значение G(5) равно 41.


Похожие вопросы
Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili