这就是将double 换成 int 后的结果了
业精于勤,荒于嬉;行成于思,毁于随。
本来是没问题的,但是你这里输入的n和m太大,整数溢出了,导致i * i溢出之后变成了0,发生了分母的除零异常。
n
m
i * i
0
1/(i*i) 是两个整数相除(这种情况下,1/3 不等于 0.3333... 而等于 0),我想你需要用 1.0/(i*i) 这样才可以。鉴于 i*i 确实可能是 0,你最好提前判断一下。
1/(i*i)
1.0/(i*i)
i*i
本来是没问题的,但是你这里输入的
n
和m
太大,整数溢出了,导致i * i
溢出之后变成了0
,发生了分母的除零异常。1/(i*i)
是两个整数相除(这种情况下,1/3 不等于 0.3333... 而等于 0),我想你需要用1.0/(i*i)
这样才可以。鉴于i*i
确实可能是 0,你最好提前判断一下。