菲波那切数列:0,1,1,2,3,5,8,13,21
规律:F0=0,F1=1,Fn=F(n-1)+F(n-2)
需求:输入数组下标,显示斐波那契数列中对应的数字。
我这里使用两种方法实现:递归和非递归
<?php
/**
* 非递归
*/
function getNumber($number)
{
$array = [];
$array[0] = 0;
$array[1] = 1;
for($i = 2;$i<=$number;$i++)
{
$array[$i] = $array[$i - 1] + $array[$i - 2];
}
return $array[$number];
}
$res = getNumber(20);
echo "非递归结果:".$res;
echo "<br>";
/**
* 递归
*/
function getNumberDiGui($number)
{
if($number == 0)
{
return 0;
}
else if($number == 1)
{
return 1;
}
else
{
return getNumberDiGui($number - 1) + getNumberDiGui($number - 2);
}
}
$ult = getNumberDiGui(20);
echo "递归结果:".$ult;
有好的建议,请在下方输入你的评论。
欢迎访问个人博客
https://guanchao.site