用java语言 分别用 do - while 和 for 循环计算1+1/2!+1/3!+1/4!十...的前20项之和
时间: 2023-03-27 13:01:58 浏览: 76
可以使用以下代码来计算:
```
double sum = ;
double factorial = 1;
// 使用 do-while 循环计算
int i = 1;
do {
factorial *= i;
sum += 1 / factorial;
i++;
} while (i <= 20);
System.out.println("使用 do-while 循环计算结果为:" + sum);
// 使用 for 循环计算
sum = ;
factorial = 1;
for (int j = 1; j <= 20; j++) {
factorial *= j;
sum += 1 / factorial;
}
System.out.println("使用 for 循环计算结果为:" + sum);
```
注意,由于计算阶乘和分数时可能会出现精度问题,建议使用 BigDecimal 类型进行计算。
相关问题
java分别用do-while和for循环计算1+1/2!+1/3!+1/4! +…+1/20!
以下是Java分别使用do-while和for循环计算1+1/2!+1/3!+1/4! +…+1/20!的代码实现:
1.使用for循环实现:
```java
public class Test {
public static void main(String args[]){
double sum=0;
int a = 1;
for(int i = 1; i <= 20;i++){
a *= i;
sum += 1.0/a;
}
System.out.println(sum);
}
}
```
2.使用do-while循环实现:
```java
public class Test {
public static void main(String args[]){
double sum=0;
int a = 1, i = 1;
do{
a *= i;
sum += 1.0/a;
i++;
}while(i <= 20);
System.out.println(sum);
}
}
```
java分别用do-while和for循环计算1+1/2!+1/3!+1/4!..的前20项和
以下是使用 do-while 和 for 循环计算前20项的 Java 代码:
使用 do-while 循环:
```
double sum = 0;
double factorial = 1;
int i = 1;
do {
factorial *= i;
sum += 1.0 / factorial;
i++;
} while (i <= 20);
System.out.println("前20项的和为:" + sum);
```
使用 for 循环:
```
double sum = 0;
double factorial = 1;
for (int i = 1; i <= 20; i++) {
factorial *= i;
sum += 1.0 / factorial;
}
System.out.println("前20项的和为:" + sum);
```
希望能对您有所帮助!