python,def factorial(n):, if n == 0:, return 1, else:, return n * factorial(n-1),
“
要求n的阶乘,我们可以使用递归或循环的方法,这里我将给出两种方法的详细解释和代码实现。
方法一:递归
1、定义一个函数factorial,接收一个参数n。
2、如果n为1或0,返回1,因为1的阶乘和0的阶乘都是1。
3、否则,返回n乘以factorial(n1)的结果。
代码实现:
def factorial(n): if n == 1 or n == 0: return 1 else: return n * factorial(n1)
方法二:循环
1、定义一个变量result,初始值为1。
2、使用for循环,从1遍历到n(包括n)。
3、在循环中,将result乘以当前遍历的数字。
4、循环结束后,返回result的值。
代码实现:
def factorial(n): result = 1 for i in range(1, n+1): result *= i return result
单元表格:
方法 | 时间复杂度 | 空间复杂度 |
递归 | O(n) | O(n) |
循环 | O(n) | O(1) |