本文介绍了Factorial in Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在使用这个Java的阶乘程序:

I've been using this factorial program for Java:

public static long factorial(int a) {

    if(a<1) {
        return 1;
    }
    long result=1;
    long x=a;
    while(x>1) {
        result*=x;                     
        x--;
    }
    return result;
}

然而,似乎破裂并在阶乘后返回负数它返回负数一段时间然后只返回0。

However, it seems to "break" and return a negative number after the factorial of 25. It returns a negative number for a while then just returns "0."

我做错了导致这个吗?

推荐答案

你已经溢出 long

使用 BigInteger 而不是。

这篇关于Factorial in Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 16:19