数列从第三项开始,每一项都等于前两项之和。
作为C和java的程序猿,在第一次在写非递归的时候,忘记了变量前加$,悲催。
F0=0,F1=1,Fn=F(n-1)+F(n-2)
递归版和非递归版。
- <?php
- function fib($n){
- $array = array();
- $array[0] = 1;
- $array[1] = 1;
- for($i=2;$i<$n;$i++){
- $array[$i] = $array[$i-1]+$array[$i-2];
- }
- print_r($array);
- }
- fib(10);
- echo "\n------------------\n";
- function fib_recursive($n){
- if($n==1||$n==2){return 1;}
- else{
- return fib_recursive($n-1)+fib_recursive($n-2);
- }
- }
- echo fib_recursive(10);
- ?>
作为C和java的程序猿,在第一次在写非递归的时候,忘记了变量前加$,悲催。
输出结果
- Array
- (
- [0] => 1
- [1] => 1
- [2] => 2
- [3] => 3
- [4] => 5
- [5] => 8
- [6] => 13
- [7] => 21
- [8] => 34
- [9] => 55
- )
- ------------------
- 55
来源:https://www.cnblogs.com/hehe520/p/6147509.html