输入n的值,计算s=1+1/2!+…+1/n!的值
时间: 2024-04-15 08:21:05 浏览: 26
以下是C语言实现输入n的值,计算s=1+1/2!+…+1/n!的值的代码和运行结果:
```c
#include <stdio.h>
double fun(int n) {
double t, sn = 1.0;
int i, j;
for (i = 1; i < n; i++) {
t = 1.0;
for (j = 1; j <= i; j++) {
t = t * j;
}
sn += 1.0 / t;
}
return sn;
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
double sum = fun(n);
printf("s的值为:%f\n", sum);
return 0;
}
```
运行结果:
```
请输入n的值:4
s的值为:2.666667
```
相关问题
Python输入n的值,计算s=1+1/2!+…+1/n!的值
以下是Python计算s=1+1/2!+…+1/n!的值的代码和解释:
```python
import math
n = int(input("请输入正整数n:"))
s = 0
for i in range(1, n+1):
s += 1 / math.factorial(i)
print("s的值为:", s)
```
代码解释:
1. 首先导入math模块,以便使用阶乘函数factorial()。
2. 通过input()函数从键盘输入正整数n。
3. 初始化s的值为0。
4. 使用for循环遍历1到n的所有整数。
5. 在循环中,使用math.factorial()函数计算i的阶乘,并将其倒数加到s中。
6. 循环结束后,输出s的值。
编写函数计算s=1+1/2!+1/3!+…+1/n!
函数sum可以计算s=1+1/2!+1/3!+…+1/n!,其中n由终端输入,n!的计算在函数fac中实现。函数sum的代码如下:
```
double sum(int n) {
double s = 1.0;
for (int i = 2; i <= n; i++) {
s += 1.0 / fac(i);
}
return s;
}
```
其中,fac函数的定义如下:
```
int fac(int n) {
int f = 1;
for (int i = 2; i <= n; i++) {
f *= i;
}
return f;
}
```