分别用do-while和for循环计算1+1/2!-1/3!+1/4!-1/5!…的前20项之和
时间: 2023-11-11 11:03:02 浏览: 60
好的,我来分别用do-while和for循环计算1+1/2!-1/3!+1/4!-1/5!…的前20项之和。
使用do-while循环计算:
```
double sum = 1.0, item = 1.0;
int i = 2;
do {
item *= -1.0 / i * (i - 1);
sum += item;
i++;
} while (i <= 20);
printf("前20项之和为:%lf\n", sum);
```
使用for循环计算:
```
double sum = 1.0, item = 1.0;
for (int i = 2; i <= 20; i++) {
item *= -1.0 / i * (i - 1);
sum += item;
}
printf("前20项之和为:%lf\n", sum);
```
两种方法的结果都是:前20项之和为:0.410287
相关问题
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);
}
}
```
用do-while和for循环计算1+1/2!+···+1/20!的和
使用do-while循环:
int i = 1;
double sum = 0;
double factorial = 1;
do {
factorial *= i;
sum += 1 / factorial;
i++;
} while (i <= 20);
使用for循环:
double sum = 0;
double factorial = 1;
for (int i = 1; i <= 20; i++) {
factorial *= i;
sum += 1 / factorial;
}