分别用do-while循环和for循环计算1+1/2!+1/3!+···的前20项
时间: 2024-09-18 15:02:34 浏览: 41
用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和
使用do-while循环和for循环分别计算1+1/2! + 1/3! + ... 的前20项,首先需要定义阶乘函数`factorial(n)`来计算给定数字的阶乘。
do-while 循环示例:
```java
double factorial = 1.0;
int i = 1;
do {
double term = 1 / factorial;
System.out.print(term + " ");
factorial *= i;
i++;
} while(i <= 20 && factorial > 0); // 阶乘为负值则跳出循环
System.out.println();
```
for 循环示例:
```java
double factorial = 1.0;
for (int j = 1; j <= 20; j++) {
double term = 1 / factorial;
System.out.print(term + " ");
factorial *= j;
}
System.out.println();
```
在这两个例子中,我们先计算每一项的分数(即1除以当前阶乘),然后更新阶乘并检查是否超过20项。如果还没有达到20项并且当前阶乘非零,则继续计算下一项。
阅读全文