如何计算一个数的阶乘?

要计算一个数的阶乘(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

所以,计算阶乘的主要步骤是:

  1. 终止条件:当 n=0 时,阶乘结果为 1。
  2. 递推公式:当 n>0 时,阶乘结果为 n x (n-1)!。
  3. 递归计算 (n-1)!,一直到终止条件。