Разработка
Vornex Inc
242

Находим n-е число Фибоначчи в PHP

Числа Фибоначчи – это ряд чисел, в котором каждое следующее число равно сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13, …. Иногда ряд начинают с нуля: 0, 1, 1, 2, 3, 5, ….

Формула:

Fn = Fn-1 + Fn-2

function fibo($i) { if ($i == 0 ) return 0; if ($i == 1 || $i == 2) { return 1; } else { return fibo($i - 1) + fibo($i -2); } } fibo(5);
{ "author_name": "Vornex Inc", "author_type": "self", "tags": [], "comments": 7, "likes": -5, "favorites": 2, "is_advertisement": false, "subsite_label": "dev", "id": 126051, "is_wide": true, "is_ugc": true, "date": "Sun, 10 May 2020 01:43:45 +0300", "is_special": false }
Дарина Фролова
«Если вас двое, то вы в 10 раз сильнее»: интервью с президентом «Клуба 500» Дмитрием Портнягиным
В условиях финансового кризиса эта идея приобретает особый смысл. Пока все паникуют, скупают валюту и совершают прочие…
Объявление на vc.ru
0
7 комментариев
Популярные
По порядку
Написать комментарий...
1

по настрою вашему вижу, не о чем дальше "дискутировать", имеет хоть какой-то смысл и пользу ваша "статья". для новичков или для старичков. давайте просто подождем других комментариев... аудитория нас рассудит, как обычно.

Ответить
0

простая расчетная функция в случае входного аргумента порядка сотен и тысяч а) работает в сотни раз быстрее, б) памяти съедает в тысячи раз меньше, в) безопасна в плане stack overflow. вывод - не лучшая стратегия применять рекурсию просто потому что она тут подходит. садитесь, студент, сегодня вам "двойка" :)

Ответить
–1

Из серии « написать комментарий ради самого комментария». Обычно у новичков возникают проблемы с пониманием что такое рекурсия, по этой причине данная задача была решена таким образом. Никто не отрицает, что эту задачу можно решить используя другие функции, и это будет и надёжнее и быстрее.

Ответить
0

Не совсем понимаю зачем это на vc.ru, но на ревью спросил бы как минимум зачем `else` после `return` в четвертой строке?

Ответить
0

...и страшно подумать, что будет со стеком, когда я в такую "функцию" -1 передам :)

Ответить
–1

И где тесты? :D

Ответить

Прямой эфир