用while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!
时间: 2024-01-29 11:02:12 浏览: 101
以下是使用while语句计算e≈1+1/1!+1/2!+...+1/n!的程序:
```java
int n = 20;
double e = 1.0, factorial = 1.0;
int i = 1;
while (i <= n) {
factorial *= i;
e += 1.0 / factorial;
i++;
}
System.out.println("e ≈ " + e);
```
该程序中,我们使用while循环来计算e的值。首先,我们定义了n的值为20,即计算前20项的和。然后,我们定义了e的初始值为1.0,factorial的初始值为1.0,i的初始值为1。在while循环中,我们首先计算i的阶乘,然后将1.0除以i的阶乘,并将结果加到e中。最后,我们将i的值加1,继续下一次循环,直到i的值大于n为止。最终,我们输出e的值,即为所求的结果。
相关问题
用do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!
以下是使用do-while语句计算e的程序:
```c
#include <stdio.h>
int main() {
int n = 1;
double sum = 1, term = 1; do {
term /= n;
sum += term;
n++;
} while (n <= 10);
printf("e = %lf\n", sum);
return 0;
}
```
在这个程序中,我们使用了一个do-while循环来计算e的值。循环的条件是n小于等于10,也就是说我们计算了1到10的阶乘的倒数之和。在每次循环中,我们计算当前的阶乘的倒数,然后将其加到sum中。最后,我们输出sum的值,即e的近似值。
用while或do-while语句编写程序,计算e约等于+1+1/1!+1/2!+...+1/n!
这是一个计算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);
}
}
```
阅读全文