用do-while循环计算S=1+1/1!+1/2!+1/3!+…+1/n!
时间: 2023-11-27 17:04:43 浏览: 63
以下是使用do-while循环计算S=1+1/1!+1/2!+1/3!+…+1/n!的代码实现:
```java
public class Test {
public static void main(String args[]){
double sum = 1.0, a = 1.0;
int i = 1;
do{
a *= i;
sum += 1.0/a;
i++;
}while(i <= n);
System.out.println(sum);
}
}
```
其中,变量sum用于存储累加的结果,变量a用于存储阶乘的结果,变量i用于控制循环次数。在循环体内,先计算阶乘a,再将1.0/a累加到sum中,最后将i加1。当i大于n时,循环结束,输出sum的值。
相关问题
c语言用do-while循环计算S=1+1/1!+1/2!+1/3!+…+1/n!
以下是C语言使用do-while循环计算S=1+1/1!+1/2!+1/3!+…+1/n!的代码实现:
```c
#include <stdio.h>
int main() {
int n, i = 1;
double a = 1, sum = 1;
printf("请输入n的值:");
scanf("%d", &n);
do {
a *= i;
sum += 1.0 / a;
i++;
} while (i <= n);
printf("S的值为:%lf", sum);
return 0;
}
```
用C语言编写的使用do-while循环计算S=1+1/1!+1/2!+1/3!+...+1/n!的程序:
下面是使用C语言编写的使用do-while循环计算S=1+1/1!+1/2!+1/3!+...+1/n!的程序:
```c
#include <stdio.h>
int main() {
int n, i = 1;
double s = 1, t = 1;
printf("请输入n的值:");
scanf("%d", &n);
do {
t *= i;
s += 1 / t;
i++;
} while (i <= n);
printf("S的值为:%lf\n", s);
return 0;
}
```
该程序使用了一个do-while循环,先计算出每个阶乘的值,再将每个阶乘的倒数加到S中,最后输出S的值。