php实现斐波那契数列代码分享

时间:2022-09-23 16:43:43

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

这个数列从第3项开始,每一项都等于前两项之和。

F0=0,F1=1,Fn=F(n-1)+F(n-2)

递归版和非递归版。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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的程序猿,在第一次在写非递归的时候,忘记了变量前加$,悲催。

输出结果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Array
(
  [0] => 1
  [1] => 1
  [2] => 2
  [3] => 3
  [4] => 5
  [5] => 8
  [6] => 13
  [7] => 21
  [8] => 34
  [9] => 55
)
------------------
55

总结

以上就是本文关于php实现斐波那契数列代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:http://blog.csdn.net/qiandublog/article/details/53286536