Записаны 2 рекурсивные функции, F и G. function F(n:integer):integer; begin if n больше 2 then F:=F(n-1)+G(n-2) else F:=n; end; function G(n:integer):integer; begin if n больше 2 then G:=G(n-1)+F(n-2) else G:=n+1; end;Чему буде...

Записаны 2 рекурсивные функции, F и G. function F(n:integer):integer; begin if n>2 then F:=F(n-1)+G(n-2) else F:=n; end; function G(n:integer):integer; begin if n>2 then G:=G(n-1)+F(n-2) else G:=n+1; end; Чему будет равно значение, вычисленное при выполнении вызова F(6)?
Гость
Ответ(ы) на вопрос:
Гость
Вот полная трассировка вызовов при вычислении F(6): Вызов F(6) Вызов F(5) Вызов F(4) Вызов F(3) Вызов F(2) Выход из F со значением 2 Вызов G(1) Выход из G со значением 2 Выход из F со значением 4 Вызов G(2) Выход из G со значением 3 Выход из F со значением 7 Вызов G(3) Вызов G(2) Выход из G со значением 3 Вызов F(1) Выход из F со значением 1 Выход из G со значением 4 Выход из F со значением 11 Вызов G(4) Вызов G(3) Вызов G(2) Выход из G со значением 3 Вызов F(1) Выход из F со значением 1 Выход из G со значением 4 Вызов F(2) Выход из F со значением 2 Выход из G со значением 6 Выход из F со значением 17 17 - это ответ.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы