Сколько чисел в последовательности Фибоначчи - PullRequest
1 голос
/ 26 сентября 2011

Если меня попросят сгенерировать числа Фибоначчи до N, сколько чисел я сгенерирую? Я ищу число Фибоначчи до N, а не N-е число.

Так, например, если я сгенерирую числа Фибоначчи до 25, я сгенерирую:

  • 1, 1, 2, 3, 5, 8, 13, 21
  • это 8 цифр

Как вычислить это математически для произвольного "n"?

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Вы можете использовать следующую формулу (см. здесь ):

n(F) = Floor(Log(F * Sqrt(5) + 1/2) / Log(Phi))
1 голос
/ 26 сентября 2011

Вы можете вычислить нерекурсивную функцию через функцию генерации. N-й элемент можно рассчитать по формуле:

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

Может быть, вы можете получить метод с помощью этой функции.

...