用函数递归实现阶乘,然后求出1+2!+3!+...+N!的和。
时间: 2023-11-28 18:46:24 浏览: 70
以下是使用函数递归实现阶乘,然后求出1+2!+3!+...+N!的和的Python代码:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
n = int(input("请输入一个正整数:"))
sum = 0
for i in range(1, n+1):
sum += factorial(i)
print("1!+2!+3!+...+{}!的和为:{}".format(n, sum))
```
相关问题
python实现使用递归函数计算阶乘和(1!+2!+3!+...+n!)
以下是使用递归函数实现计算阶乘和的Python代码:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
def factorial_sum(n):
if n == 1:
return 1
else:
return factorial(n) + factorial_sum(n-1)
n = int(input("请输入一个正整数:"))
print("1! + 2! + 3! + ... + n! = ", factorial_sum(n))
```
运行示例:
```
请输入一个正整数:5
1! + 2! + 3! + ... + n! = 153
```
求1!+2!+3!+...+n!。 (2)阶乘求值用递归函数实现。
以下是两种Python实现1!+2!+3!+...+n!的方法:
1.使用for循环和math库中的factorial函数实现:
```python
import math
n = int(input("请输入一个正整数:"))
sum = 0
for i in range(1, n+1):
sum += math.factorial(i)
print("1!+2!+3!+...+n!的值为:", sum)
```
2.使用递归函数实现阶乘求和:
```python
def jie(n):
if n == 1:
return 1
else:
return n*jie(n-1)
n = int(input("请输入一个正整数:"))
sum = 0
for i in range(1, n+1):
sum += jie(i)
print("1!+2!+3!+...+n!的值为:", sum)
```