The binomial(int n, int k) method of Guava’s BigIntegerMath class returns n choose k, also known as the binomial coefficient of n and k, that is,
n! / (k! (n - k)!)
Syntax:
public static BigInteger binomial(int n, int k)
Parameters: This method takes the following parameters:
- n: The base for binomial expansion.
- k: The power for binomial expansion.
Return Value: This method returns the binomial coefficient of n and k.
Exceptions: This method throws IllegalArgumentException if n < 0, k < 0 or k > n.
Note: The result can take as much as O(k log n) space.
Below examples illustrates the BigIntegerMath.binomial() method:
Example 1:
import java.math.*;
import com.google.common.math.BigIntegerMath;
class GFG {
public static void main(String args[])
{
int n = 5 ;
int k = 2 ;
BigInteger ans = BigIntegerMath.binomial(n, k);
System.out.println( "Binomial Coefficient of "
+ n + " & " + k
+ " is: " + ans);
int n1 = 15 ;
int k1 = 9 ;
BigInteger ans1 = BigIntegerMath.binomial(n1, k1);
System.out.println( "Binomial Coefficient of "
+ n1 + " & " + k1
+ " is: " + ans1);
}
}
|
Output:
Binomial Coefficient of 5 & 2 is: 10
Binomial Coefficient of 15 & 9 is: 5005
Example 2:
import java.math.*;
import com.google.common.math.BigIntegerMath;
class GFG {
public static void main(String args[])
{
try {
int n = 5 ;
int k = 7 ;
BigInteger ans = BigIntegerMath.binomial(n, k);
System.out.println( "Binomial Coefficient of"
+ n + " & " + k
+ " is: " + ans);
}
catch (Exception e) {
System.out.println( "Exception: " + e);
}
}
}
|
Output:
Exception: java.lang.IllegalArgumentException: k (7) > n (5)
Reference: https://google.github.io/guava/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#binomial-int-int-