斐波那契数列指的是这样一个数列 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