R20;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的阶乘

递归求解

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

python递归求n的阶乘python递归求n的阶乘

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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。