Fibonacci数小于数k的数量。 Sub O(n)

时间:2016-04-13 15:04:19

标签: algorithm fibonacci

采访问题:存在少于给定数量k的Fibonacci数?你能找到一个k函数,得到的斐波纳契数小于k吗?

示例:n = 6

答案:6为(0,1,1,2,3,5)

很简单,写一个循环或使用Fibonacci的递归定义。然而,这听起来太容易了......有没有办法使用封闭形式的定义来做到这一点? (https://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_expression

1 个答案:

答案 0 :(得分:1)

我认为至少可以很容易地看到这个数字的增长。通过Binet / De-Moivre formula

f n =(φ n - ψ n )/ 5

因为 |ψ| < 1< φ,然后

f n n / 5

由此可见,小于 x 的斐波纳契数的数量增长如 log φ(5x)