.


- 3


end;

, , .

.

n = 1 n = 2, , () .

n = 3, (else) fib(2) + fib(1).

, , () fib.

n = 4, , n = 5 - .

fib(4) fib(5)

fib(3) fib(2) fib(4) fib(3)

 

fib(2) fib(1) fib(3) fib(2) fib(2) fib(1)

 

 

fib(2) fib(1)

, , . , . .

, .

, . .

1

Function

Fib(n: integer):longint;

var

f1, f2, f : longint;

i : integer;

begin

f2 := 1; f := 1;

if (n = 1) or (n = 2) then f := 1

else

for i := 3 to

n do

begin

f1 := f2; f2 := f

f := f1 + f2;

end;

fib := f