Sri*_*aji 5 java recursion biginteger factorial
因此,请考虑以下程序段!我曾尝试使用基本递归函数来确定数字的阶乘,但现在使用 BigInteger 类。
public static BigInteger fact(int a)
{
BigInteger factorial = BigInteger.ONE;
BigInteger factz = BigInteger.ONE;
if(a == 1)
{
return factorial;
}
else
{
return factz.multiply(fact(a-1));
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试在程序中实现它时,它会将输出返回为 1。是否因为 BigInteger 对象是不可变的?还是我在这里遗漏了什么?
代码中有错误,你应该把
BigInteger factz = BigInteger.valueOf(a);
Run Code Online (Sandbox Code Playgroud)
代替BigInteger factz = BigInteger.ONE;
| 归档时间: |
|
| 查看次数: |
8494 次 |
| 最近记录: |