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}}== |