//参数按第几位算,零是第一位,第九位21。
//0, 1, 1, 2, 3, 5, 8, 13,21
//For非递归方式
echo Fibonacci_netpc(9);
echo Fibonacci_R(9);
function Fibonacci_netpc($n)
{
if ($n > 2) {
$o = 0;
$t = 1;
for ($i = 4; $i <= $n; $i++) {
//调换保存最后2位累加位置
$temp = $o + $t;
$o = $t;
$t = $temp;
}
return $t + $o;
} else {
return $n - 1;
}
}
//递归方式
function Fibonacci_R($n)
{
if ($n < 3) return $n - 1;
if ($n == 3) return 1;
return Fibonacci_R($n - 1) + Fibonacci_R($n - 2);
}

