阅读背景:

Java利用公式求自然对数的底e

来源:互联网 

应用公式       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;
	}
}
import



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: