Thursday, September 4, 2025
HomeLanguagesJavaBigIntegerMath factorial() function | Guava | Java

BigIntegerMath factorial() function | Guava | Java

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-
 

RELATED ARTICLES

Most Popular

Dominic
32261 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6626 POSTS0 COMMENTS
Nicole Veronica
11795 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11855 POSTS0 COMMENTS
Shaida Kate Naidoo
6747 POSTS0 COMMENTS
Ted Musemwa
7023 POSTS0 COMMENTS
Thapelo Manthata
6695 POSTS0 COMMENTS
Umr Jansen
6714 POSTS0 COMMENTS