【原创】PHP循环非递归或递归实现斐波那契数列Fibonacci
全文约 54 字预计阅读 1 分钟
//参数按第几位算,零是第一位,第九位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);
}
【原创】PHP循环非递归或递归实现斐波那契数列Fibonacci
评论 0 条
暂无评论,来说点什么吧。