【发布时间】:2015-05-07 09:31:34
【问题描述】:
我有以下问题:尝试添加 BigIntegers 的总和时,结果仍然为 0。
代码如下:
public void NumberOfOutcomes(int x, int y){
BigInteger first = BigInteger.valueOf(0);
BigInteger second = BigInteger.valueOf(0);
for(int i = 0; i <= (x / 2); i++){
first.add( fac(x - i).divide((fac(x - 2*i).multiply(fac(i)))) );
System.out.println("First " + first.add( fac(x - i).divide((fac(x - 2*i).multiply(fac(i)))) ));
}
for(int i = 0; i <= (y / 2); i++){
second.add( fac(y - i).divide((fac(y - 2*i).multiply(fac(i)))) );
System.out.println("Second " + second.add( fac(y - i).divide((fac(y - 2*i).multiply(fac(i)))) ));
}
System.out.println("First " + first);
System.out.println("Second " + second);
System.out.println(first.multiply(second));
}
这里fac是阶乘函数。
这是终端上的内容:
points1.NumberOfOutcomes(2, 3)
前 1
前 1
第二个 1
第二个 2
前 0
第二个 0
0
【问题讨论】:
-
first.add(...)不会改变first。 -
我明白了,但我能做些什么呢?
-
顺便说一句,你可以用
BigInteger.ZERO代替BigInteger.valueOf(0) -
first = first.add(...);
标签: java add biginteger factorial