Помощь - Поиск - Пользователи - Календарь
Полная версия: Рекурсия
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Ирин
где можно на форуме посмотреть материалы по рекурсии??
volvo
В Поиске... Вводишь рекурс*, и смотришь рекурсивные реализации процедур/функций и разные замечания на эту тему...

Или тебя интересует что-то конкретное?
Ирин
Цитата(volvo @ 5.05.2006 9:28) *
Или тебя интересует что-то конкретное?


меня интерисует решение задачи:

Числа фиббионачи второго порядка u0,u1,u2.. определяються следующим образом:
u0=0, u1=1, u2=3;
u(n)=u(n-1)+u(n-2)+u(n-3), n=3,4,5
(n) - это индекс внизу u

я решила задачу но мен выдает ошибку что стек прееполнен, помоги найти ошибку
 program recy;
var N: integer;
F: longint;
function rec(n:integer):integer;
begin
if n=0 then rec:=0;
if n=1 then rec:=1;
if n=2 then rec:=3 else
rec:=rec(n-1)+rec(n-2)+rec(n-3);
end;
begin
write('введите N');
read(N);
F:=rec(n);
writeln('для числа ',n,' значение рекурсии = ',F);
end.

ТЭГИ!
volvo
Цитата(Ирин @ 5.05.2006 10:51)
я решила задачу но мен выдает ошибку что стек прееполнен, помоги найти ошибку

Попробуй так:
function rec(n:integer):integer;
begin
if n=0 then rec:=0
else
if n=1 then rec:=1
else
if n=2 then rec:=3
else rec:=rec(n-1)+rec(n-2)+rec(n-3);
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.