用Python代码求和1!+2!+3!…+n,n的值要输入
时间: 2023-10-24 07:17:44 浏览: 66
python计算阶乘和的方法(1!+2!+3!+…+n!)
可以使用循环和递归两种方法实现该功能。下面给出两种方法的代码供您参考:
方法一:使用循环实现
```python
def factorial(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
def sum_of_factorials(n):
sum = 0
for i in range(1, n + 1):
sum += factorial(i)
return sum
n = int(input("请输入n的值:"))
print("1!+2!+3!+...+n!的和为:", sum_of_factorials(n))
```
方法二:使用递归实现
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
def sum_of_factorials(n):
if n == 1:
return 1
else:
return factorial(n) + sum_of_factorials(n - 1)
n = int(input("请输入n的值:"))
print("1!+2!+3!+...+n!的和为:", sum_of_factorials(n))
```
以上两种方法的时间复杂度都是O(n!),因为要计算n个阶乘。当n比较大时,计算时间会比较长。
阅读全文