poj 1517 u Calculate e(精度控制+水题)

一、Description

A simple mathematical formula for e is
e=Σ0<=i<=n1/i!

where n is allowed to go to infinity. This can actually yield very accurate approximations of e using relatively small values of n.

Input

No input

Output

Output the approximations of e generated by the above formula for the values of n from 0 to 9. The beginning of your output should appear similar to that shown below.

二、题解
        注意精度的控制,结果控制在9位小数,String .format("%.9f",sum)。
三、java代码
public class Main {
	 
    public static void main(String[] args) { 
      int i,j,fac;
      double sum=2.5d;
      System.out.println("n "+"e");
      System.out.println("- "+"-----------");
      System.out.println("0 "+"1");
      System.out.println("1 "+"2");
      System.out.println("2 "+"2.5");
      for(i=3;i<10;i++){
    	  fac=1;
    	  for(j=1;j<=i;j++){
    		  fac*=j;
    	  }
		  sum+=1.0 /(fac);
		  System.out.print(i+" ");
		  System.out.println(String .format("%.9f",sum));
      }
    }
} 


原文地址:https://www.cnblogs.com/AndyDai/p/5135304.html