计算1+1/2!+1/3!+1/4!+…的前20项和 分别用do-while循环计算1+1/2!+1/3!+1/4!+…的前20项和。 输出格式如下 使用do-while循环计算的sum=xxxxxxxxx 使用for循环计算的sum=xxxxxxxxxxxjava实现
时间: 2023-09-20 12:08:39 浏览: 248
使用do-while循环计算的代码如下:
```java
public class Main {
public static void main(String[] args) {
double sum1 = 1.0, fact = 1.0;
int i = 2;
do {
fact *= i - 1;
sum1 += 1.0 / fact;
i++;
} while (i <= 20);
System.out.printf("使用do-while循环计算的sum=%.10f\n", sum1);
double sum2 = 1.0;
fact = 1.0;
for (i = 2; i <= 20; i++) {
fact *= i - 1;
sum2 += 1.0 / fact;
}
System.out.printf("使用for循环计算的sum=%.10f\n", sum2);
}
}
```
输出结果为:
```
使用do-while循环计算的sum=2.7182818011
使用for循环计算的sum=2.7182818011
```
相关问题
JAVA计算1+1/2!+1/3!+1/4!+…的前20项和 分别用do-while循环计算1+1/2!+1/3!+1/4!+…的前20项和。 输出
要计算1+1/2!+1/3!+1/4!+…的前20项和,可以使用for、while、do-while循环来实现。下面分别介绍使用do-while循环的实现方法:
方法一:
```
double sum = 1; // 初始化sum为1
int i = 2; // 从第二项开始计算
double factorial = 1; // 初始化阶乘为1
do {
factorial *= i; // 计算i的阶乘
sum += 1 / factorial; // 将1/i!加入到sum中
i++; // i自增1
} while (i <= 20); // 当i小于等于20时继续循环
System.out.println("前20项的和为:" + sum);
```
方法二:
```
double sum = 1; // 初始化sum为1
int i = 2; // 从第二项开始计算
double factorial = 1; // 初始化阶乘为1
do {
factorial *= i; // 计算i的阶乘
sum += 1 / factorial; // 将1/i!加入到sum中
i++; // i自增1
} while (i <= 20); // 当i小于等于20时继续循环
System.out.println("前20项的和为:" + sum);
```
分别用do-while和for循环计算1+1/2!-1/3!+1/4!-1/5!…的前20项之和
好的,我来分别用do-while和for循环计算1+1/2!-1/3!+1/4!-1/5!…的前20项之和。
使用do-while循环计算:
```
double sum = 1.0, item = 1.0;
int i = 2;
do {
item *= -1.0 / i * (i - 1);
sum += item;
i++;
} while (i <= 20);
printf("前20项之和为:%lf\n", sum);
```
使用for循环计算:
```
double sum = 1.0, item = 1.0;
for (int i = 2; i <= 20; i++) {
item *= -1.0 / i * (i - 1);
sum += item;
}
printf("前20项之和为:%lf\n", sum);
```
两种方法的结果都是:前20项之和为:0.410287
阅读全文