Функция "fib" - стандартная или нет?
Primary tabs
Здравствуйте.
На просторах инета увидел такой код вывода n-ого члена последовательности Фибоначчи:
<?php function fib($n) { if($n == 0 || $n==1) { return 1; }else { return fib($n-2)+fib($n-1); } } echo fib(6); ?>
Непонятно, каким образом интерпретатор высчитывает/выводит n-ый член последовательности Фибоначчи?
- Log in to post comments
- 3275 reads
melisa
Sat, 04/13/2019 - 12:20
Permalink
рекурсия
Это пример рекурсивной функции (функция вызывает саму себя). Посмотрите пример здесь
Laven
Sat, 04/13/2019 - 12:24
Permalink
то, что это рекурсия, я понял
то, что это рекурсия, я понял. Либо я пока не понимаю природу рекурсии, но мне непонятно по какой формуле интерпретатор считает последовательность Фибоначчи?
melisa
Sat, 04/13/2019 - 12:28
Permalink
перейдите по ссылке, которую
перейдите по ссылке, которую я указала в комментарии выше. там вы прочитаете про рекурсию и будет легче понять её природу.
пройдите алгоритм, предлагаемый функцией вручную (на листочке распишите, что вызывается и с какими аргументами и с какими результатами). может так будет понятнее
формула проста - сумма двух предыдущих членов. это и есть смысл последовательности Фибоначчи