输入一个正整数n,求1 1/2! 1/3! ……1/n!的值,要求定义并调用函数fact(n)计算n的阶乘,函数返回值的类型是单精度浮点型。
时间: 2023-11-15 14:57:05 浏览: 105
C语言程序设计-求k!(k〈13),所求阶乘的值作为函数值返回;(要求使用递归).c
5星 · 资源好评率100%
好的,我可以帮你解决这个问题。以下是实现代码:
```python
def fact(n):
if n == 0 or n == 1:
return 1
else:
return n * fact(n-1)
def calculate(n):
result = 0.0
for i in range(1, n+1):
result += 1.0/fact(i)
return result
n = int(input("请输入正整数n:"))
print("1 1/2! 1/3! ……1/n!的值为:", calculate(n))
```
在这个代码中,我们定义了两个函数:`fact(n)`和`calculate(n)`。`fact(n)`函数用于计算n的阶乘,`calculate(n)`函数用于计算1 1/2! 1/3! ……1/n!的值。最后,我们在主函数中读取用户输入的正整数n,然后调用`calculate(n)`函数计算结果并输出。
阅读全文