Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Рекурсия

Автор: Ирин 5.05.2006 13:26

где можно на форуме посмотреть материалы по рекурсии??

Автор: volvo 5.05.2006 13:28

В Поиске... Вводишь рекурс*, и смотришь рекурсивные реализации процедур/функций и разные замечания на эту тему...

Или тебя интересует что-то конкретное?

Автор: Ирин 5.05.2006 14:51

Цитата(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 15:24

Цитата(Ирин @ 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;