非递归写法:
function fbnq($n){ //传入数列中数字的个数
if($n <= 0){
return 0;
}
$array[1] = $array[2] = 1; //设第一个值和第二个值为1
for($i=3;$i<=$n;$i++){ //从第三个值开始
$array[$i] = $array[$i-1] + $array[$i-2];
//后面的值都是当前值的前一个值加上前两个值的和
}
return $array;
}
递归写法:
function fbnq(KaTeX parse error: Expected '}', got 'EOF' at end of input: n){ if(n <= 0) return 0;
if($n == 1 || n = = 2 ) r e t u r n 1 ; r e t u r n f b n q ( n == 2) return 1; return fbnq( n==2)return1;returnfbnq(n - 1) + fbnq($n - 2);
}