3编写函数,用两种不同方法计算的和,结果保留两位小数。要求:(1)方法一中使用递归函数计算阶乘(2)方法二中不涉及递归函数
时间: 2024-05-01 07:23:45 浏览: 47
阶乘及阶乘和的两种编法
方法一:使用递归函数计算阶乘,并求和
```python
def factorial_recursive(n):
if n == 0:
return 1
else:
return n * factorial_recursive(n-1)
def sum_factorial_recursive(m):
sum = 0
for i in range(m+1):
sum += factorial_recursive(i)
return round(sum, 2)
```
方法二:使用循环计算阶乘,并求和
```python
def factorial_loop(n):
fact = 1
for i in range(1, n+1):
fact *= i
return fact
def sum_factorial_loop(m):
sum = 0
for i in range(m+1):
sum += factorial_loop(i)
return round(sum, 2)
```
测试:
```python
print(sum_factorial_recursive(5)) # 15.0
print(sum_factorial_loop(5)) # 15.0
```
两个函数的结果都是15.0,符合预期。其中 `round()` 函数用于将结果保留两位小数。
阅读全文