数値の階乗値を取得したい。5の結果が期待できるとwikiで読んだ!5x4x3x2x1 = 120になります。Javaでそれを取得するにはどうすればよいですか?
BigFraction g = new BigFraction(5);
System.out.println(g.getNumerator());
これはちょうど5を出力します。
最後に、ネットワーク内の組み合わせを計算したい:
次の式があります。
数値の階乗値を取得したい。5の結果が期待できるとwikiで読んだ!5x4x3x2x1 = 120になります。Javaでそれを取得するにはどうすればよいですか?
BigFraction g = new BigFraction(5);
System.out.println(g.getNumerator());
これはちょうど5を出力します。
最後に、ネットワーク内の組み合わせを計算したい:
次の式があります。
階乗が必要な場合は、 ArithmeticUtils.factorialを使用できます。
long factorial = ArithmeticUtils.factorial(5);
System.out.println(factorial); // "120"
Guavaのを使用しBigIntegerMath
ます。
階乗を計算するにはn!
:
BigInteger factorial = BigIntegerMath.factorial(n);
二項分布を計算するには、すなわちn! / (k! (n - k)!)
:
BigInteger binomial = BigIntegerMath.binomial(n, k);
ところで、単純な古い式を使用しないのはなぜですか。
x=n*(n-1)/2
ここで、n は頂点の数です。
この単純なタスクでは、計算量の多い関数を階乗として使用する必要はありません...