斐波那契数列
斐波那契数列是一系列元素,前两个元素被添加到其中以获得下一个元素,从0和1开始。在本文中,我们将学习如何使用迭代和递归的方法在PHP中生成斐波纳契数列。给定一个数字n,我们需要找到斐波那契级数直到第n项。
1 2 3 4 5 | Input : 10 Output : 0 1 1 2 3 5 8 13 21 34 Input : 15 Output : 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 |
方法1:采用递归方法
递归是一种方法,我们反复调用同一个函数,直到匹配一个基本条件来结束递归。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php // PHP代码获得斐波那契数列 // 斐波那契数列的递归函数。 function Fibonacci($number){ // if and else if to generate first two numbers if ($number == 0) return 0; else if ($number == 1) return 1; // Recursive Call to get the upcoming numbers else return (Fibonacci($number-1) + Fibonacci($number-2)); } // Driver Code $number = 10; for ($counter = 0; $counter < $number; $counter++){ echo Fibonacci($counter),' '; } |
输出
1 | 0 1 1 2 3 5 8 13 21 34 |
方法二:采用迭代法
首先,我们将第一和第二个数初始化为0和1。接下来,我们打印第一个和第二个数字。然后我们将流程发送给迭代while循环,在那里我们通过添加前两个数字得到下一个数字,同时我们将第一个数字与第二个数字交换,第二个数字与第三个数字交换。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php // PHP code to get the Fibonacci series function Fibonacci($n){ $num1 = 0; $num2 = 1; $counter = 0; while ($counter < $n){ echo ' '.$num1; $num3 = $num2 + $num1; $num1 = $num2; $num2 = $num3; $counter = $counter + 1; } } // Driver Code $n = 10; Fibonacci($n); ?> |
输出
1 | 0 1 1 2 3 5 8 13 21 34 |