用递归函数求n的阶乘的算法思想
时间: 2023-09-24 17:14:22 浏览: 131
递归法求N的阶乘
递归函数求n的阶乘的算法思想是:将n的阶乘问题转化为n-1的阶乘问题,然后再将n-1的阶乘问题转化为n-2的阶乘问题,直到转化成1的阶乘问题。最后,1的阶乘为1,递归函数开始返回,依次将各阶乘结果相乘,得到n的阶乘。
具体实现如下:
1.定义一个函数factorial(n),该函数接受一个正整数n作为参数。
2.如果n等于1,则直接返回1;否则,递归调用factorial(n-1)函数,将返回的结果与n相乘,得到n的阶乘。
3.代码如下:
```
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
4.测试代码:
```
print(factorial(5)) # 输出120
print(factorial(10)) # 输出3628800
```
阅读全文