数列从第三项开始,每一项都等于前两项之和。
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);
?>
<?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
Array
(
[0] => 1
[1] => 1
[2] => 2
[3] => 3
[4] => 5
[5] => 8
[6] => 13
[7] => 21
[8] => 34
[9] => 55
)
------------------
55
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号