用while或do-while语句编写程序,计算e约等于+1+1/1!+1/2!+...+1/n!
时间: 2023-11-11 12:04:03 浏览: 100
这是一个计算e的程序,使用了BigDecimal类来进行精确计算。其中,num1、num2、num3和sum都是BigDecimal类型的变量。程序使用do-while循环来计算1!到100!的和,每次循环都将上一个阶乘的值加到sum中,并计算出下一个阶乘的值。当循环次数大于100时跳出循环,最后输出计算结果。
以下是用while语句编写的程序:
```
import java.math.BigDecimal;
public class CalculateE {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal(1);
BigDecimal num2 = new BigDecimal(1);
BigDecimal sum = new BigDecimal(1);
BigDecimal n = new BigDecimal(1);
int i = 1;
while (i <= 100) {
num1 = num1.multiply(new BigDecimal(i));
n = n.add(new BigDecimal(1));
sum = sum.add(BigDecimal.ONE.divide(num1, 100, BigDecimal.ROUND_HALF_UP));
i++;
}
System.out.println("e ≈ " + sum);
}
}
```
以下是用do-while语句编写的程序:
```
import java.math.BigDecimal;
public class CalculateE {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal(1);
BigDecimal num2 = new BigDecimal(1);
BigDecimal sum = new BigDecimal(1);
BigDecimal n = new BigDecimal(1);
int i = 1;
do {
num1 = num1.multiply(new BigDecimal(i));
n = n.add(new BigDecimal(1));
sum = sum.add(BigDecimal.ONE.divide(num1, 100, BigDecimal.ROUND_HALF_UP));
i++;
} while (i <= 100);
System.out.println("e ≈ " + sum);
}
}
```
阅读全文