我有一些方法可以找到一個大數的因式。有人可以解釋,它有什麼問題,爲什麼我沒有任何輸出?找到一個喜歡的大數
public static long factorial(long num) {
BigInteger numm = BigInteger.valueOf(num);
BigInteger fact= BigInteger.valueOf(1);
for (; numm.compareTo(BigInteger.ZERO)==1 ; fact = fact.multiply(numm)) {
numm.subtract(BigInteger.ONE);
}
return fact.longValue();
}
你放棄你的相減(?注意你怎麼寫'其實= fact.multiply(numm)'乘法運算後更新'fact')的結果,這意味着' numm'將始終是相同的值,並且循環將繼續「永遠」。 –
[在Java中查找大數的階乘]的可能的重複(http://stackoverflow.com/questions/11446973/find-factorial-of-large-numbers-in-java) – Joe