通过定义函数的方式分别用循环和递归两种方法完成以下计算,S=1+1÷3!+1÷5!+1÷7!+……。保留小数点后八位,程序运行后屏幕显示:请输入一个大于零的整数,奇数1到5的计算结果为1.12345678
时间: 2024-04-30 08:18:01 浏览: 63
编程实现计算:1!+2!+3!+……+N!的值,要求定义并调用函数计算N!。
5星 · 资源好评率100%
循环实现:
```python
import math
def calculate_s(n):
s = 0
for i in range(1, n+1):
if i % 2 != 0:
s += 1 / math.factorial(2*i-1)
return round(s, 8)
n = int(input("请输入一个大于零的整数:"))
if n % 2 == 1 and n >= 1 and n <= 5:
print("奇数1到5的计算结果为:", calculate_s(n))
else:
print("输入有误!")
```
递归实现:
```python
import math
def calculate_s(n):
if n == 1:
return 1 / math.factorial(1)
elif n % 2 != 0:
return 1 / math.factorial(2*n-3) + calculate_s(n-1)
else:
return calculate_s(n-1)
n = int(input("请输入一个大于零的整数:"))
if n % 2 == 1 and n >= 1 and n <= 5:
print("奇数1到5的计算结果为:", round(calculate_s(n), 8))
else:
print("输入有误!")
```
阅读全文