fork download
  1. F = [0]*50
  2. F[1] = 1
  3. for i in range(2, 50) :
  4. F[i] = F[i-1] + F[i-2]
  5.  
  6. def maxF(k):
  7. left = 0
  8. right = 49
  9. while right - left > 1:
  10. mid = (left+right) // 2
  11. if F[mid] < k:
  12. left = mid
  13. else:
  14. right = mid
  15. return F[left]
  16.  
  17. Z = int(input())
  18. for i in range(Z):
  19. k = int(input())
  20. print (maxF(k))
  21.  
Success #stdin #stdout 0.01s 7400KB
stdin
4
8
15
20
30
stdout
5
13
13
21