递归实现阶乘php

以下是使用递归方法实现阶乘的PHP代码示例:
代码实现
function factorial($n) {
if ($n <= 1) {
return 1;
} else {
return $n * factorial($n - 1);
}
}
参数说明
$n:需要计算阶乘的非负整数。当$n为0或1时,直接返回1,因为0!和1!都等于1。
递归逻辑
递归的核心思想是将问题分解为更小的子问题。在阶乘计算中,n! = n * (n-1)!,因此函数会不断调用自身,直到$n减至1为止。
示例调用
echo factorial(5); // 输出120
注意事项
- 递归深度受PHP内存限制,对于非常大的
$n可能导致栈溢出。 - 对于性能敏感的场景,建议改用迭代方法实现阶乘。







