计算+S=1!+2!+3!+......+n!。递归函数计算n!和S
时间: 2023-11-22 17:06:10 浏览: 90
Java递归求和1+2+3+...+n实例详解
5星 · 资源好评率100%
计算+S=1!+2!+3!+......+n!,可以使用递归函数计算n!和S。
首先,我们需要定义一个递归函数来计算n!。递归函数的定义如下:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
这个递归函数的作用是计算n的阶乘。当n等于0时,返回1;否则,返回n乘以n-1的阶乘。
接下来,我们可以使用这个递归函数来计算+S=1!+2!+3!+......+n!。代码如下:
```python
def sum_factorial(n):
if n == 1:
return 1
else:
return factorial(n) + sum_factorial(n-1)
```
这个递归函数的作用是计算1!+2!+3!+......+n!。当n等于1时,返回1;否则,返回n的阶乘加上n-1的阶乘之和。
因此,我们可以调用sum_factorial函数来计算+S=1!+2!+3!+......+n!。例如,当n等于5时,调用sum_factorial(5)的结果为153。
阅读全文