62,615
社区成员
发帖
与我相关
我的任务
分享
//返回处理最终结果,4舍5入保留5位小数
public static double fact(int t) throws NotPositiveIntegerException{
System.out.println("start caculate:" + System.currentTimeMillis());
double result = Summarize(t);
/*System.out.println(result);
BigDecimal b = new BigDecimal(result);
double f = b.setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("end caculate:" + System.currentTimeMillis());
return f;
*/
return result;
}
//求和
public static double Summarize(int t) {
if(t <=0 ){
return 0;
}
double ret;
if(t == 1){
return 1.0;
}else{
ret = 1.0/factorial(t) + Summarize(t-1);
}
return ret;
}
//分母求阶乘
public static int factorial(int i){
int result;
if(i == 1){
return 1;
}else{
result = i * factorial(i-1);
}
return result;
}