阶乘计算技术博客文章
背景介绍
阶乘(Factorial)是整数n的乘积,定义为 $ n! = n \times (n-1) \times \cdots \times 1 $。对于非负整数 $ n \geq 0 $,阶乘的计算结果为 $ 1 $,当 $ n = 0 $ 时,结果为 1。输入一个整数 $ n $,输出 $ n $ 的阶乘结果。
思路分析
递归实现
- 递归函数直接计算 $ n! $:
$ n! = n \times (n-1)! $ - 边界条件处理:
- 当 $ n = 0 $ 时返回 1
- 当 $ n < 0 $ 时返回 0(不考虑负数情况)
循环实现
- 使用
for循环从 2 到 $ n $,逐个相乘:
$ 5! = 5 \times 4 \times 3 \times 2 \times 1 $
代码实现
def factorial(n):
if n == 0:
return 1
result = 1
for i in range(2, n + 1):
result *= i
return result
# 示例测试
print(factorial(5)) # 输出 120
总结
通过上述实现,我们可以清晰地看到阶乘计算的两种方式:递归实现和循环迭代。递归实现简洁,但需注意边界条件;循环实现更直观,适用于较大的 $ n $ 值。无论使用哪种方法,最终结果均以 $ n! $ 表示。
该算法在 $ n \leq 100 $ 的范围内能够快速计算,确保代码的可运行性和可扩展性。