数字的阶乘
我们已经知道如何在其他语言中得到一个数字的阶乘。让我们看看如何在PHP中使用递归和非递归的方法来实现这一点。
例子
1 2 3 4 5 | Input : 5 Output : 120 Input : 10 Output : 3628800 |
方法1:迭代法
在这个方法中,我们简单地使用for循环遍历数字序列以得到阶乘。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php // PHP code to get the factorial of a number // function to get factorial in iterative way function Factorial($number){ $factorial = 1; for ($i = 1; $i <= $number; $i++){ $factorial = $factorial * $i; } return $factorial; } // Driver Code $number = 10; $fact = Factorial($number); echo "Factorial = $fact"; ?> |
输出
1 | 3628800 |
方法2:使用递归
在这个方法中,我们调用相同的方法来得到阶乘的序列。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php // PHP code to get the factorial of a number // function to get factorial in iterative way function Factorial($number){ if($number <= 1){ return 1; } else{ return $number * Factorial($number - 1); } } // Driver Code $number = 10; $fact = Factorial($number); echo "Factorial = $fact"; ?> |
输出
1 | 3628800 |