Open In App

Java Guava | binomial(int n, int k) of LongMath Class with Examples

Last Updated : 28 Jan, 2019
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report
The binomial(int n, int k) method of Guava's LongMath Class accepts two parameters n and k and calculate the value of the binomial coefficient {n}\choose{k}. If the calculated value overflows the maximum value of a long, then the method returns Long.MAX_VALUE i.e, the maximum value of a long. Syntax :
public static long binomial(int n, int k)
Parameters: This method accepts two parameters n and k and calculate the value of the binomial coefficient {n}\choose{k}. Return Value : The method returns the binomial coefficient of n and k. Exceptions : The method binomial(int n, int k) throws IllegalArgumentException if n is negative, or k is negative or k is greater than n. Below examples illustrate the binomial() method of LongMath class: Example 1 : Java
// Java code to show implementation of
// binomial(int n, int k) method of Guava's
// LongMath class
import java.math.RoundingMode;
import com.google.common.math.LongMath;

class GFG {

    // Driver code
    public static void main(String args[])
    {
        int n = 4;
        int k = 3;

        // Using binomial(int n, int k) method of
        // Guava's LongMath class
        long ans = LongMath.binomial(n, k);

        System.out.println("Binomial Coefficient of "
                           + n + " and " + k
                           + " is : " + ans);

        int n1 = 20;
        int k1 = 4;

        // Using binomial(int n, int k) method of
        // Guava's LongMath class
        long ans1 = LongMath.binomial(n1, k1);

        System.out.println("Binomial Coefficient of "
                           + n1 + " and " + k1
                           + " is : " + ans1);
    }
}
Output:
Binomial Coefficient of 4 and 3 is : 4
Binomial Coefficient of 20 and 4 is : 4845
Example 2 : Java
// Java code to show implementation of
// binomial(int n, int k) method of Guava's
// LongMath class

import java.math.RoundingMode;
import com.google.common.math.LongMath;

class GFG {

    static long findBinomial(int n, int k)
    {
        try {
            // Using binomial(int n, int k)
            // method of Guava's LongMath class
            // This should throw "IllegalArgumentException"
            // as k < 0
            long ans = LongMath.binomial(n, k);

            // Return the answer
            return ans;
        }
        catch (Exception e) {
            System.out.println(e);
            return -1;
        }
    }

    // Driver code
    public static void main(String args[])
    {
        int n = 5;
        int k = 7;

        try {
            // Function calling
            findBinomial(n, k);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Output:
java.lang.IllegalArgumentException: k (7) > n (5)
Reference : https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/LongMath.html#binomial-int-int-

Next Article
Practice Tags :

Similar Reads