简述利用递归方法求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 的阶乘。