java分别用do-while和for循环计算1+1/2!+1/3!+...的前20项和
时间: 2024-09-16 12:04:38 浏览: 80
第三次实验记录1
在Java中,你可以使用do-while和for循环结合递归的方式来计算1+1/2! + 1/3! + ...的前20项和。这里是一个示例代码:
```java
public class Main {
public static void main(String[] args) {
double sum = 1.0;
int n = 20; // 前20项
// 使用do-while循环
int index = 1;
do {
double factorialTerm = calculateFactorial(index);
sum += 1.0 / factorialTerm;
index++;
} while (index <= n);
System.out.printf("前 %d 项和: %.2f\n", n, sum);
// 使用for循环
for (int i = 1; i <= n; i++) {
double factorialTerm = calculateFactorial(i);
sum += 1.0 / factorialTerm;
}
System.out.printf("前 %d 项和(使用for): %.2f\n", n, sum);
}
// 计算阶乘
private static double calculateFactorial(int num) {
if (num == 0 || num == 1)
return 1;
else
return num * calculateFactorial(num - 1);
}
}
```
在这个例子中,`calculateFactorial()`函数用于计算阶乘,然后在do-while和for循环中逐步累加到总和`sum`上。
阅读全文