Форум » Рекурсивные процедуры и функции » задача 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. Попробуйте динамическое программирование.
Иванин: спасибо за подсказку!
полная версия страницы