Fibonacci序列中有多少个数字

时间:2011-09-26 15:16:54

标签: computer-science fibonacci

假设我被要求生成最多N的Fibonacci数字,我会生成多少个数字?我正在寻找最多N的Fibonacci数,而不是第N个数。

因此,作为一个例子,如果我生成最多25的Fibonacci数,我将生成:

  • 1,1,2,3,5,8,13,21
  • 那是8个数字

如何以数学方式计算任意“n”?

2 个答案:

答案 0 :(得分:2)

您可以使用以下公式(请参阅here):

n(F) = Floor(Log(F * Sqrt(5) + 1/2) / Log(Phi))

答案 1 :(得分:1)

您可以通过生成函数计算非递归函数。第n个元素可以通过公式计算:

f(n) = (1 / Sqrt(5)) * (((1+Sqrt(5))/2)^n - ((1-Sqrt(5))/2)^n)

也许你可以用这个函数派生一个方法。