📅  最后修改于: 2023-12-03 15:33:36.189000             🧑  作者: Mango
斐波那契数列是指这样一个数列:1、1、2、3、5、8、13、21、34、…… 也就是,从第3个数开始,每个数都是前两个数的和。 斐波那契数列可以用递归算法或循环算法来生成。
使用递归算法生成斐波那契数列是非常简单的,只需要定义一个递归函数,然后在函数内部调用自身即可。
function fibonacci_recursive($n)
{
if ($n == 1 || $n == 2) {
return 1;
} else {
return fibonacci_recursive($n - 1) + fibonacci_recursive($n - 2);
}
}
使用循环算法生成斐波那契数列也很简单,只需要使用循环语句,每次计算前两项的和即可。
function fibonacci_loop($n)
{
$a = 1;
$b = 1;
for ($i = 3; $i <= $n; $i++) {
$c = $a + $b;
$a = $b;
$b = $c;
}
return $b;
}
使用上述函数以及一个for循环,即可输出斐波那契数列。
echo "斐波那契数列前20项:\n";
for ($i = 1; $i <= 20; $i++) {
echo fibonacci_recursive($i) . " ";
}
echo "\n";
输出结果为:
斐波那契数列前20项:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
斐波那契数列是一个非常经典的数学问题,在编程中常常用到。 使用递归算法或循环算法都可以生成斐波那契数列,具体实现取决于个人喜好。 在实际使用中要注意数值溢出的问题,因为斐波那契数列的增长非常快。