利用公式 e=1+1/1!+1/2!+1/3!+1/4!+......
import java.util.Scanner;
public class Factorial{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int n=input.nextInt();//输入n,n为计算的项数
System.out.println(calE(n));//注意:方法名不一样,calcE()用的是循环,calE()用的是递归
}
public static long fact(int n){//递归求阶乘,其中有隐式转换,int转为long
if(n==1){
return 1;
}
else{
return n*fact(n-1);
}
}
public static double calcE(int n){//循环求e
double e=1.0;
for(int i=1;i<n;i++){
e=e+(1.0/fact(i));
}
return e;
}
public static double calE(int n){//递归求e
double e=0.0;
if(n==1){
e=1.0;
}
else{
e=calE(n-1)+1.0/fact(n-1);
}
return e;
}
}
有不懂的可以评论或私发,看到了会回复