📜  PHP |斐波那契数列(1)

📅  最后修改于: 2023-12-03 15:33:36.189000             🧑  作者: Mango

PHP | 斐波那契数列

什么是斐波那契数列?

斐波那契数列是指这样一个数列: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
总结

斐波那契数列是一个非常经典的数学问题,在编程中常常用到。 使用递归算法或循环算法都可以生成斐波那契数列,具体实现取决于个人喜好。 在实际使用中要注意数值溢出的问题,因为斐波那契数列的增长非常快。