Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

BigIntegerMath factorial() function | Guava | Java

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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-
 


My Personal Notes arrow_drop_up
Last Updated : 26 Jul, 2021
Like Article
Save Article
Similar Reads
Related Tutorials