Anonymous recursion: Difference between revisions

Content added Content deleted
(Delphi version of Anonymous Recursion)
(Pascal version of Anonymous Recursion)
Line 2,198: Line 2,198:
if(n<0,(-1)^(n+1),1)*F(abs(n))
if(n<0,(-1)^(n+1),1)*F(abs(n))
};</lang>
};</lang>

=={{header|Pascal}}==
<lang Pascal>
program AnonymousRecursion;

function Fib(X: Integer): integer;

function DoFib(N: Integer): Integer;
begin
if N < 2 then DoFib:=N
else DoFib:=DoFib(N-1) + DoFib(N-2);
end;

begin
if X < 0 then Fib:=X
else Fib:=DoFib(X);
end;


var I,V: integer;

begin
for I:=-1 to 15 do
begin
V:=Fib(I);
Write(I:3,' - ',V:3);
if V<0 then Write(' - Error');
WriteLn;
end;
WriteLn('Hit Any Key');
ReadLn;
end.
</lang>

{{out}}
<pre>
-1 - -1 - Error
0 - 0
1 - 1
2 - 1
3 - 2
4 - 3
5 - 5
6 - 8
7 - 13
8 - 21
9 - 34
10 - 55
11 - 89
12 - 144
13 - 233
14 - 377
15 - 610
Hit Any Key
</pre>


=={{header|Perl}}==
=={{header|Perl}}==