【发布时间】:2014-09-07 18:32:10
【问题描述】:
我知道BigInteger 是处理非常大的数字时使用的类。我写了一个计算阶乘的简单脚本。但是,它在输入 25 及以上时中断。
/**
* Calculates the factorial of a given number
*/
BigInteger fact(long n){
def fact = 1
while(n > 0){
fact *= n--
}
return fact
}
处理大到 100 的数字的正确方法是什么!?
【问题讨论】:
-
@SotiriosDelimanolis 我得到的答案是
0或一些负数 -
溢出。似乎
fact被推断为long,而不是BigInteger。
标签: java groovy biginteger