java计算1+1/2!+1/3!+…+1/20!
时间: 2023-11-13 13:03:15 浏览: 46
这个Java程序的目的是计算1+1/2!+1/3!+…+1/20!的值。其中,1/n!表示n的阶乘的倒数。程序中使用了循环和方法来实现计算。具体实现过程为:先输入一个数a,然后调用sum(a)方法,该方法使用两个循环来计算每个数的阶乘和总和,最后输出总和。其中,sum1表示每个数的阶乘,sum2表示总和。程序中还包括了一个父类calculate和两个派生类calculate_mul_x和calculate_div_x,它们分别用于计算不同的表达式。calculate类中的getSum方法用于计算1+1/2!+1/3!+…+1/n!,calculate_mul_x类中的getSum方法用于计算x+x/2!+x/3!+…+x/n!calculate_div_x类中的getSum方法用于计算1+1/(2!*x)+1/(3!*x)+…+1/(n!*x)。在主类mainClass中,分别创建了calculate、calculate_mul_x和calculate_div_x的对象,并调用它们的getSum方法进行计算。
相关问题
java编程计算1+1/2!+...+1/20!
计算1+1/2!+...+1/20!可以使用循环结构和数学公式来实现。其中,1/2!表示1除以2的阶乘,即1/2,以此类推。以下是Java代码实现:
```
double sum = 0;
double factorial = 1;
for (int i = 1; i <= 20; i++) {
factorial *= i;
sum += 1 / factorial;
}
sum += 1; // 加上1
System.out.println("1+1/2!+...+1/20!等于:" + sum);
```
另外,也可以使用do-while循环来实现:
```
double sum = 0, factorial = 1;
int i = 1;
do {
factorial *= i;
sum += 1 / factorial;
i++;
} while (i <= 20);
sum += 1; // 加上1
System.out.println("1+1/2!+...+1/20!等于:" + sum);
```
计算1+1/2!+1/3!+…1/10!
这道题目是要求计算1+1/2!+1/3!+…1/10!的和。下面是两种不同的Java代码实现方式:
1.使用for循环方式:
```
public class Daoshu{
public static void main(String args[]){
double a=1,b=1,sum=0;
for(c=0,b=1,a=1;a<=10;a++) {
b*=(1.0/a);
sum+=b;
}
System.out.println(" "+sum);
}
}
```
2.使用do-while循环方式:
```
public class Daoshu{
public static void main(String args[]){
double a=1,b=1,sum=0;
do{
sum=b+c;
a++;
b=(1.0/a)*b;
} while(a<=10);
System.out.println(" "+sum);
}
}
```