fork download
  1. function FibNum(f, n: real): real;
  2. begin
  3. // вывод числа Фибоначчи, рассчитанного по формуле Бине:
  4. FibNum:= 1 / Sqrt(5) * (Exp(f * n) - Cos(PI * n) / Exp(f * n));
  5. end;
  6.  
  7. var
  8. f: real;
  9. a, b, c, cnt, idx: integer;
  10.  
  11. begin
  12. // расчет константы формулы Бине:
  13. f:= Ln((1 + Sqrt(5)) / 2);
  14. cnt:= 0; idx:= 2;
  15. a:= 0; b:= 1;
  16. repeat
  17. c:= a; a:= b; b:= (c + a) mod 3;
  18. if b = 0 then begin
  19. Inc(cnt);
  20. writeln(cnt:2,' : Fib(', idx + 1, ') = ', FibNum(f, idx))
  21. end;
  22. Inc(idx)
  23. until cnt = 30
  24. end.
Success #stdin #stdout 0s 340KB
stdin
Standard input is empty
stdout
 1 : Fib(5) =  3.0000000000000004E+000
 2 : Fib(9) =  2.1000000000000004E+001
 3 : Fib(13) =  1.4400000000000011E+002
 4 : Fib(17) =  9.8700000000000034E+002
 5 : Fib(21) =  6.7650000000000000E+003
 6 : Fib(25) =  4.6368000000000065E+004
 7 : Fib(29) =  3.1781100000000035E+005
 8 : Fib(33) =  2.1783090000000014E+006
 9 : Fib(37) =  1.4930352000000032E+007
10 : Fib(41) =  1.0233415500000000E+008
11 : Fib(45) =  7.0140873300000107E+008
12 : Fib(49) =  4.8075269760000143E+009
13 : Fib(53) =  3.2951280099000027E+010
14 : Fib(57) =  2.2585143371700049E+011
15 : Fib(61) =  1.5480087559200000E+012
16 : Fib(65) =  1.0610209857723016E+013
17 : Fib(69) =  7.2723460248140953E+013
18 : Fib(73) =  4.9845401187926619E+014
19 : Fib(77) =  3.4164546229067145E+015
20 : Fib(81) =  2.3416728348467688E+016
21 : Fib(85) =  1.6050064381636790E+017
22 : Fib(89) =  1.1000877783661052E+018
23 : Fib(93) =  7.5401138047463526E+018
24 : Fib(97) =  5.1680708854858621E+019
25 : Fib(101) =  3.5422484817926324E+020
26 : Fib(105) =  2.4278932283999786E+021
27 : Fib(109) =  1.6641027750620553E+022
28 : Fib(113) =  1.1405930102594448E+023
29 : Fib(117) =  7.8177407943098897E+023
30 : Fib(121) =  5.3583592549909673E+024