要计算一个数的阶乘(factorial),可以使用以下算法:
阶乘算法
- 阶乘表示为:n!
- n 的阶乘是 n x (n-1) x (n-2) … x 3 x 2 x 1
- 0! 定义为 1
- 递归算法:
python
def factorial(n):
# <u>n 为输入数,返回其阶乘</u>
if n == 0:
# == 表示比较运算符,判断 n 是否等于 0
return 1
# 如果 n 为 0,阶乘结果为 1 直接返回
else:
return n * factorial(n-1)
# 否则,阶乘结果为 n x (n-1)!
示例代码
python
print(factorial(3)) # 6, 因为 3! = 3 x 2 x 1 = 6
print(factorial(5)) # 120,因为 5! = 5 x 4 x 3 x 2 x 1 = 120
print(factorial(0)) # 1
**运行结果**
6
120
1
所以,计算阶乘的主要步骤是:
- 终止条件:当 n=0 时,阶乘结果为 1。
- 递推公式:当 n>0 时,阶乘结果为 n x (n-1)!。
- 递归计算 (n-1)!,一直到终止条件。