Y特奈特 2023-02-02 22:26 采纳率: 91.9%
浏览 31
已结题

不能够正确输出100的阶乘

为何我的代码不能正确输出100的阶乘值呢?以为是超过了int的最大值范围,换成了long也不行,10以内的阶乘都可以正确输出

img

  • 写回答

4条回答 默认 最新

  • johnny233 新星创作者: Java技术领域 2023-02-02 23:05
    关注

    就是太大了:9.3326215e+157,157位数:

    private static BigDecimal factorial(int num) {
        if (num == 1) {
            return BigDecimal.valueOf(1);
        } else {
            return BigDecimal.valueOf(num).multiply(factorial(num - 1));
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 已采纳回答 2月3日
  • 创建了问题 2月2日