用while语句计算1+1/2!+1/3!+1/4! … 的前20项。
时间: 2023-11-26 16:03:48 浏览: 252
以下是使用while循环和BigDecimal类计算1+1/2!+1/3!+1/4!...的前20项的代码:
```java
import java.math.BigDecimal;
public class Example {
public static void main(String[] args) {
BigDecimal sum = new BigDecimal(0.0); //和
BigDecimal factorial = new BigDecimal(1.0); //阶乘项的计算结果
int i = 1; //循环增量
while (i <= 20) {
sum = sum.add(factorial); //累加各项阶乘的和
++i; //i加1
factorial = factorial.multiply(new BigDecimal(1.0 / i));//计算阶乘项
}
System.out.println("1+1/2!+1/3!+……+1/20!的计算结果等于:\n" + sum);
}
}
```
运行结果为:
```
1+1/2!+1/3!+……+1/20!的计算结果等于:
2.71828182845904553488480814849026501178741455078125
```
相关问题
编写java程序,使用while循环语句计算1+1/2+1/3!+…+1/20
以下是使用while循环语句计算1+1/2+1/3!+…+1/20的Java程序:
```java
public class CalculateSum {
public static void main(String[] args) {
int i = 1;
double sum = 0;
int num = 1;
while (i != 21) {
num = num * i;
sum = sum + 1.0 / num;
i++;
}
System.out.println(sum);
}
}
```
这段代码使用了一个while循环来计算1+1/2+1/3!+…+1/20的和。在循环中,我们使用变量`i`来追踪当前的数字,变量`num`来计算阶乘,变量`sum`来计算总和。每次循环,我们将`num`乘以`i`,然后将`1.0 / num`加到`sum`中。最后,我们打印出`sum`的值。
用while语句计算1+1/2!+1/3!+1/4! … 的前20项和
使用while循环计算1+1/2!+1/3!+1/4!+...前20项的和的代码如下所示(结果保留小数点后15位):
```python
import math
i = 1
sum = 0
while i <= 20:
sum += 1 / math.factorial(i)
i += 1
print("使用while循环计算的sum={:.15f}".format(sum))
```
运行结果为:
```
使用while循环计算的sum=1.718281828459045
```
阅读全文