Open In App

BigIntegerMath factorial() function | Guava | Java

Improve
Improve
Like Article
Like
Save
Share
Report

The method factorial(int n) of Guava’s BigIntegerMath class is used to find the factorial of the given number. It returns n!, that is, the product of the first n positive integers.
Syntax: 
 

public static BigInteger factorial(int n)

Parameters: This method takes the number n as parameter whose factorial is to be found.
Return Value: This method returns the factorial of the given number n.
Exceptions: This method throws IllegalArgumentException if n < 0.
Note: 
 

  • The method returns 1 if n == 0.
  • The result takes O(n log n) space, so use cautiously.
  • This uses an efficient binary recursive algorithm to compute the factorial with balanced multiplies.

Below examples illustrates the BigIntegerMath.factorial() method:
Example 1:
 

Java




// Java code to show implementation of
// factorial() method of Guava's BigIntegerMath class
 
import java.math.*;
import com.google.common.math.BigIntegerMath;
 
class GFG {
 
    // Driver code
    public static void main(String args[])
    {
        int n1 = 10;
 
        // Using factorial(int n) method of
        // Guava's BigIntegerMath class
        BigInteger ans1 = BigIntegerMath.factorial(n1);
 
        System.out.println("Factorial of " + n1
                           + " is: " + ans1);
 
        int n2 = 12;
 
        // Using factorial(int n) method of
        // Guava's BigIntegerMath class
        BigInteger ans2 = BigIntegerMath.factorial(n2);
 
        System.out.println("Factorial of " + n2
                           + " is: " + ans2);
    }
}


Output: 

Factorial of 10 is: 3628800
Factorial of 12 is: 479001600

 

Example 2:
 

Java




// Java code to show implementation of
// factorial() method of Guava's BigIntegerMath class
 
import java.math.*;
import com.google.common.math.BigIntegerMath;
 
class GFG {
 
    // Driver code
    public static void main(String args[])
    {
 
        try {
            int n1 = -5;
 
            // Using factorial(int n) method of
            // Guava's BigIntegerMath class
            // This should throw "IllegalArgumentException"
            // as n < 0
            BigInteger ans1 = BigIntegerMath.factorial(n1);
 
            System.out.println("Factorial of " + n1
                               + " is: " + ans1);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}


Output: 

Exception: java.lang.IllegalArgumentException: n (-5) must be >= 0

 

Reference: https://google.github.io/guava/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#factorial-int-
 



Last Updated : 26 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads