Java 如何得到阶乘值

Java 如何得到阶乘值,java,apache-commons,factorial,Java,Apache Commons,Factorial,我想得到一个数的阶乘值。我在一个维基上读到,我可以期待5的结果!为5x4x4x2x1=120。现在我如何在Java中获得它 BigFraction g = new BigFraction(5); System.out.println(g.getNumerator()); 这只印了5张 最后,我想计算网络中的组合: 其公式如下: 你似乎很困惑,很困惑 如果需要阶乘,可以使用: long factorial = ArithmeticUtils.factorial(5); System.out.pr

我想得到一个数的阶乘值。我在一个维基上读到,我可以期待5的结果!为5x4x4x2x1=120。现在我如何在Java中获得它

BigFraction g = new BigFraction(5);
System.out.println(g.getNumerator());
这只印了5张

最后,我想计算网络中的组合:

其公式如下:

你似乎很困惑,很困惑

如果需要阶乘,可以使用:

long factorial = ArithmeticUtils.factorial(5);
System.out.println(factorial); // "120"
用番石榴汁

要计算阶乘,即n!:

要计算二项式,即n!/Kn-k!:


int和long的类似功能分别在和中提供。

顺便问一下,为什么不使用简单的旧公式:

x=n*(n-1)/2
其中n是顶点数


对于这个简单的任务,您不必使用计算密集型函数作为阶乘…

您是指阶乘值吗?您似乎很困惑。我想您可以从wit开始,或者一个天真的学生实现阶乘很少是一个好主意。你应该看看lngamma和二项式函数。我怎么处理大数?长阶乘=算术运算。阶乘89;给出MathArithmeticException@clankill3r:那是另一个问题。
BigInteger binomial = BigIntegerMath.binomial(n, k);
x=n*(n-1)/2