您的位置:首页 > 其它

HDOJ 1012 u Calculate e

2016-03-20 16:31 459 查看
Problem Description

A simple mathematical formula for e is



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

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.

Sample Output

n e

0 1

1 2

2 2.5

3 2.666666667

4 2.708333333

简单的阶乘运算。

对于小数大于9位的,保留9位小数,四舍五入。

public class Main {
public static void main(String[] args) {
//打表输出:
System.out.println("n e");
System.out.println("- -----------");
System.out.println("0 1");
System.out.println("1 2");
System.out.println("2 2.5");

//3-9 的数:
for(int i=3;i<10;i++){
double a=0;
for(int k=0;k<=i;k++){
a = a+fact(a,k);
}
System.out.print(i+" ");
//默认为四舍五入
System.out.printf("%.9f",a);
System.out.println();
}

}

//返回数为i的阶乘分之一
private static double fact(double a, int i) {
double e = 1;
if(i==0){
return 1;
}
for(int j=1;j<=i;j++){
e = e*j;
}
return 1/e;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: