JAVA BigInteger的使用,先谢谢了

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:11:09
BigInteger lotteryOdds = BigInteger.valueOf(1);//这个是什么意思

for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds.multiply(BigInteger.valueOf(n - i + 1)).divide( BigInteger.valueOf(i));//这两句也说明下

BigInteger lotteryOdds = BigInteger.valueOf(1);//相当于 new BigInteger("1"),就是新建一个BigInteger值为1的对象。

for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds.multiply(BigInteger.valueOf(n - i + 1)).divide( BigInteger.valueOf(i));//拆开解释好点

a)BigInteger.valueOf(n - i + 1)//同第一句一样
b).divide( BigInteger.valueOf(i))//用a)建立出来的BigInteger对象的值除(\)BigInteger.valueOf(i)的值,并导出此值的BigInteger对象,可以理解为new BigInteger(“”+ ((n - i + 1)\i)):比如n - i + 1)\i = m , 就是new BigInteger(“m”)
c)最后用lotteryOdds 的值:1 乘以m,然后再用结果导出新的BigInteger对象付给lotteryOdds,其实结果就是lotteryOdds = new BigInteger("m"),因为1*m=m.....
再将此公式循环(迭代)k遍。。。
最后就是累乘:∏((n-i+1)\i) i:1..k

相当与初始化 跟 int i = 1;类似