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

41 задание 16

vin: функция работает до 27, как исправить ошибку function F(n: integer):integer; forward; function G(n: integer):integer;forward; function F(n: integer):integer; begin if n=1 then F:= 1 else if n> 1 then F:= F(n-1) - 2 * G(n-1); end; function G(n: integer):integer; begin if n=1 then G:= 1 else if n>1 then G:= F(n-1) + G(n-1) + n; end; var k, s: integer; begin k:= G(11); while k > 0 do begin s:= s+ k mod 10; k:= k div 10; end; print (s); end.

Ответов - 1

Поляков: Рекурсия каждый раз на две ветки, времени не хватает. Попробуйте динамическое программирование, как раньше вручную решали.



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