fork download
  1. import math
  2.  
  3. sqrt5 = math.sqrt(5)
  4.  
  5. def fib(n):
  6. s = 0.5 * (1 + sqrt5)
  7. t = 0.5 * (1 - sqrt5)
  8. return (s**n - t**n) / sqrt5
  9.  
  10. print("First 21 Fibonacci numbers:")
  11.  
  12. for i in range(21):
  13. print(fib(i))
  14.  
  15. print("Approaching", (sqrt5-1)/2)
  16.  
  17. num = 0
  18.  
  19. for i in range(1, 21):
  20. den = math.floor(fib(i))
  21. print(num/den)
  22. num = den
  23.  
  24.  
Success #stdin #stdout 0.09s 14132KB
stdin
Standard input is empty
stdout
First 21 Fibonacci numbers:
0.0
1.0
1.0
2.0
3.0000000000000004
5.000000000000001
8.000000000000002
13.000000000000002
21.000000000000004
34.00000000000001
55.000000000000014
89.00000000000003
144.00000000000006
233.00000000000006
377.00000000000017
610.0000000000003
987.0000000000005
1597.000000000001
2584.000000000002
4181.000000000003
6765.000000000005
Approaching 0.6180339887498949
0.0
1.0
0.5
0.6666666666666666
0.6
0.625
0.6153846153846154
0.6190476190476191
0.6176470588235294
0.6181818181818182
0.6179775280898876
0.6180555555555556
0.6180257510729614
0.6180371352785146
0.6180327868852459
0.6180344478216818
0.6180338134001252
0.6180340557275542
0.6180339631667066
0.6180339985218034