function test($n)
{
if ($n == 1 || $n == 2) {
return 1;
}
return test($n - 2) + test($n - 1);
// 3 4
// 1 2 2 3
// 1 1 1 1 1
}
echo test(6);
//优化改进循环的方法:
function test2($n)
{
$sum = 1;
$sum1 = 1;
if (1 == $n) {
return 1;
} else if (2 == $n) {
return 1;
} else {
for ($i = 0; $i < $n - 2; $i++) // 第三项等于前两相加
{
$tem = $sum; // tem 保存原来的sum
$sum += $sum1; // sum= 前两项相加
$sum1 = $tem; // sum1 =原来的sum 始终保证第三项等于前两项相加
}
return $sum;
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容