n (n-1)   (n-2)        (n-k+1)
-* ---- * ---- *..... * ------
k  (k-1)  (k-2)          1
可否?

解决方案 »

  1.   

    谢谢正在采用 java.math.BigDecimal 。---  我马上改用 BigInteger
      

  2.   

    你不应该先求N!然后再计算。应该每项都计算完后再相乘,像lee_nan() ( )所说的那样。否则本来结果不会溢出,但是在计算过程中却出现了溢出的值,这很不合理。
      

  3.   

    昨晚已经改用BigInteger完成。溢出问题解决了,但是误差问题出来了。但是结合其它部分的功能求出的概率的总和不为1(或者不接近1)了。
    原来采用double时,在100以内的基数进行计算时,概率总和是非常接近1的。郁闷!!!!!!谢谢 flyforlove(为情飞)、lee_nan() ,double相乘,也经常出现相当大的误差的,所以,我一直没有采用这种做法。
    不过,今天我得试一试。
      

  4.   

    我就是在google.com 搜了,找不到有关 浮点。
    记得大学时,关于数学的计算,有 MathLab 软件。--- 现在一搜“高精度计算”,确实有很多。如:超大整数高精度快速计算器谢谢各位,欢迎继续提供意见。等我把问题完全解决了,我再来结帐。