Нахождение чисел Фибоначчи при помощи формулы Бине
Чи́сла Фибона́ччи — элементы числовой последовательности, в которой каждое последующее число равно сумме двух предыдущих чисел. Название по имени средневекового математика Леонардо Пизанского (известного как Фибоначчи). Иногда число 0 не рассматривается как член последовательности.
Пример ряда чисел Фибоначчи:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 …
Обычно числа Фибоначчи находят при помощи рекурсивной функции, но проще и менее ресурсоёмко это сделать при помощи формулы Бине
:
На РНР это будет выглядеть так (пример):
function fibonacciNumbers($n) { $sq5 = sqrt(5); $a = (1 + $sq5) / 2; $b = (1 - $sq5) / 2; return (pow($a, $n) - pow($b, $n)) / $sq5; }
А где это может потребоваться? Бытовые примеры, если можно
Например, Применение чисел Фибоначчи в анализе фондовых бирж, Последовательность Фибоначчи используют при прогнозировании цены…, ЗАГАДКА ЧИСЕЛ ФИБОНАЧЧИ И КАЖДОДНЕВНОЕ ПРИМЕНЕНИЕ ПРИ ИГРЕ НА ФОРЕКС, Применение чисел Фибоначчи
Очень занимательно. Не знал про эти числа, хотя слышал в кино.
А нельзя просто складывать два числа, и так будет находится третье, потом это третье складывать с предыдущем, и оно будет являться четвертым и тп??
Попробуйте таким способом найти хотя бы тысячный член последовательности 🙂
при n=1475 и выше , скрипт уходит в infinity . как это побороть?
Зависит от вашей машины и настроек РНР
я думаю что нужно прикрутить GMP или BCMath . но я не знаю как это сделать. помогите пожалуйста.
А в чем трабл? В мануале посмотрите процесс установки и настройки
я плохо разбираюсь (
Всё в ваших руках )