RosettaCodeData/Task/Fibonacci-sequence/Pascal/fibonacci-sequence-4.pas

23 lines
314 B
ObjectPascal
Raw Permalink Normal View History

2026-02-01 16:33:20 -08:00
function fib(n: integer): integer;
var
f0, f1, tmpf0, k: integer;
2023-07-01 11:58:00 -04:00
begin
2026-02-01 16:33:20 -08:00
f1 := n;
IF f1 >1 then
begin
k := f1-1;
f0 := 0;
f1 := 1;
repeat
tmpf0 := f0;
f0 := f1;
f1 := f1+tmpf0;
dec(k);
until k = 0;
end
else
IF f1 < 0 then
f1 := 0;
fib := f1;
2023-07-01 11:58:00 -04:00
end;