Форум » Рекурсивные процедуры и функции » задача 16 №41 » Ответить

задача 16 №41

Иванин: Висит. Не подскажите, где ошибка. Заранее спасибо. function G(n: integer ): integer;forward; function F(n: integer): integer; begin if n>1 then F:= F(n - 1)-2* G(n - 1) else F:=1; end; function G(n: integer): integer; begin if n>1 then G:= F(n - 1) + G(n - 1)+n else G:=1; end; begin writeln( G(36) ); end.

Ответов - 2

Поляков: У вас рекурсия ветвится, сложность 2^n. Попробуйте динамическое программирование.

Иванин: спасибо за подсказку!



полная версия страницы