(4) 分别用 while 和 for 循环计算 1+1/2!+1/3!+1/4!+…
时间: 2023-11-15 09:04:56 浏览: 77
可以使用while和for循环来计算1+1/2!+1/3!+1/4!+…的值。
以下是两种实现方式:
1.使用while循环实现:
public class Test {
public static void main(String[] args) {
int i = 1;
double sum = 0, a = 1;
while (a > 0) {
sum += a;
i++;
a = 1.0 / (i - 1) / a;
}
System.out.println(sum);
}
}
2.使用for循环实现:
public class Test {
public static void main(String[] args) {
double sum = 0, a = 1;
for (int i = 1; a > 0; i++) {
sum += a;
a = 1.0 / i / a;
}
System.out.println(sum);
}
}
相关问题
java分别用do-while和for循环计算1+1/2!+1/3!+1/4! +…+1/20!
以下是Java分别使用do-while和for循环计算1+1/2!+1/3!+1/4! +…+1/20!的代码实现:
1.使用for循环实现:
```java
public class Test {
public static void main(String args[]){
double sum=0;
int a = 1;
for(int i = 1; i <= 20;i++){
a *= i;
sum += 1.0/a;
}
System.out.println(sum);
}
}
```
2.使用do-while循环实现:
```java
public class Test {
public static void main(String args[]){
double sum=0;
int a = 1, i = 1;
do{
a *= i;
sum += 1.0/a;
i++;
}while(i <= 20);
System.out.println(sum);
}
}
```
在java中,分别用while和for循环计算1+1/2!+1/3!+1/4!+……的前20项和
在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循环直接控制迭代次数。
阅读全文