当前位置:首页 > 行业动态 > 正文

python递归求n的阶乘

“ python,def factorial(n):, if n == 0:, return 1, else:, return n * factorial(n-1),“

问题描述

给定一个正整数n,求n的阶乘,阶乘表示从1乘到n的所有正整数的乘积,即n! = 1 * 2 * 3 * … * n。

python递归求n的阶乘  第1张

递归求解

递归是一种解决问题的方法,它将问题分解为更小的子问题,然后递归地解决这些子问题,直到达到基本情况,对于求阶乘问题,我们可以将n!分解为(n1)! * n,当n=1时,1! = 1。

Python代码实现

def factorial(n):
    # 基本情况:n=1时,返回1
    if n == 1:
        return 1
    # 递归情况:n! = (n1)! * n
    else:
        return n * factorial(n 1)
测试代码
n = 5
result = factorial(n)
print(f"{n}的阶乘是:{result}")

单元表格

输入 输出 解释
n = 1 1 基本情况
n = 2 2 2 = 2 * 1
n = 3 6 3 = 2 * 2 * 1
n = 4 24 4 = 3 * 2 * 2 * 1
n = 5 120 5 = 4 * 3 * 2 * 1
0