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

python计算n的阶乘递归

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

问题描述

求n的阶乘递归是一个常见的编程问题,要求使用Python编写一个函数,输入一个整数n,输出n的阶乘,这里我们使用递归的方法来实现。

递归思想

阶乘的定义:n的阶乘表示为n!,即n*(n1)*(n2)*…*3*2*1,我们可以将这个问题分解为两个子问题:一个是计算n1的阶乘,另一个是计算n乘以n1的阶乘,当n=1时,直接返回1。

代码实现

def factorial(n):
    # 基本情况:当n为1时,返回1
    if n == 1:
        return 1
    # 递归情况:计算n乘以(n1)的阶乘
    else:
        return n * factorial(n 1)

单元测试

为了验证我们的函数是否正确,我们可以编写一些单元测试用例来测试我们的函数。

输入 预期输出
1 1
2 2
3 6
4 24
5 120

运行结果

通过运行上述单元测试用例,我们可以看到我们的函数能够正确地计算出给定整数的阶乘。

0