跳到主要内容

简述利用递归方法求5! ?

参考答案:

递归方法是一种解决问题的策略,它涉及到将问题分解为更小、更易于解决的子问题,并且这些子问题的解决方案被用来构建原始问题的解决方案。在求阶乘(factorial)的情况下,我们可以将 n 的阶乘定义为 n 乘以 (n-1) 的阶乘。这就是我们的递归关系。

因此,5! 可以表示为 5 * 4!,而 4! 可以进一步表示为 4 * 3!,依此类推,直到我们到达 1!,这是递归的基本情况,我们知道 1! = 1。

下面是一个用 Python 编写的递归函数,用于计算阶乘:

def factorial(n):
    if n == 1:  # 基本情况
        return 1
    else:  # 递归情况
        return n * factorial(n-1)

print(factorial(5))  # 输出 120

在这个函数中,我们首先检查基本情况(n == 1),如果满足,我们返回 1。否则,我们返回 n 乘以 (n-1) 的阶乘,后者通过递归调用 factorial(n-1) 来计算。

这个递归过程会一直进行,直到我们到达基本情况,然后开始返回结果,这个过程称为“回溯”。由于我们在回溯过程中不断将结果相乘,所以我们最终会得到 n 的阶乘。