在java中,分别用while和for循环计算1+1/2!+1/3!+1/4!+……的前20项和
时间: 2024-09-17 07:07:11 浏览: 114
在Java中,我们可以使用While循环和For循环来计算阶乘之和的前20项。由于涉及到阶乘计算,我们还需要额外的辅助函数来计算阶乘。以下是使用While循环和For循环的示例:
**While循环版本:**
```java
public class FactorialSum {
public static void main(String[] args) {
int sum = 0;
int n = 1; // 阶乘起始值
int factorial = 1;
while (n <= 20 && factorial != 0) {
sum += 1 / factorial;
factorial *= n++;
}
System.out.println("前20项和:" + sum);
}
}
// 辅助函数用于计算阶乘
private static int factorial(int num) {
if (num == 0 || num == 1) return 1;
else return num * factorial(num - 1);
}
```
**For循环版本:**
```java
public class FactorialSum {
public static void main(String[] args) {
double sum = 0;
for (int i = 1; i <= 20; i++) {
sum += 1 / factorial(i);
}
System.out.println("前20项和:" + sum);
}
// 同样的阶乘计算函数
private static int factorial(int num) {
if (num == 0 || num == 1) return 1;
else return num * factorial(num - 1);
}
}
```
这两个版本的主要区别在于循环结构,While循环在每次迭代后更新因子和条件,而For循环直接控制迭代次数。
阅读全文
相关推荐


















