在写用阶乘求e的时候遇到问题了,34之前输出的,都是正常的,35之后就出错了,sum变成了负的
求问为什么会这样
题目
代码如下
int n = scan.nextInt();
double e = 0;
int sum =1;
for(int i = 1;i < n+1;i++){
if(i == 1){
sum = 1;
}else{
sum = sum * (i - 1);
}
e = (int)((e + 1.0 / sum) * 100000) / 100000.0 ;
}
System.out.println(e);//35有跃迁?
34的时候
35的时候
望告知,多谢!