• 斐波那契数列是非常常见的一类数列,其数学定义为:F0=1,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),也就是该数列从第三项开始每一项都是前两项之和。本文用php来简单实现斐波那契数列的递归方式和非递归方式,代码十分简洁易懂,如下所示:
  • 非递归版本
1
2
3
4
5
6
7
$arr[0] = 0;
$arr[1] = 1;
for($i = 2;$i < 10;$i++){
    $arr[$i] = $arr[$i-1] + $arr[$i-2];
}
echo join(",",$arr);
  • 递归版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function fib($n){
if($n == 0){
return 0;
}
if($n == 1 || $n == 2){
return 1;
}
return fib($n - 1) + fib($n - 2);
}
for($i = 0;$i < 10;$i++){
echo fib($i);
echo "\n";
}