假设我被要求生成最多N的Fibonacci数字,我会生成多少个数字?我正在寻找最多N的Fibonacci数,而不是第N个数。
因此,作为一个例子,如果我生成最多25的Fibonacci数,我将生成:
如何以数学方式计算任意“n”?
答案 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)
也许你可以用这个函数派生一个方法。