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

Related Articles

Java Guava | Longs.factorial(int n) method with Examples

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

The factorial(int n) method of Guava’s LongMath Class returns the product of the first n positive integers, which is n!.

Syntax :

public static long factorial(int n)

Parameter: The method accepts only one parameter n which is of integer type and is to be used to find the factorial.

Return Value: This method return following values:

  • This method returns 1 if n is 0.
  • This method returns product of the first n positive integers if the result fits in a long.
  • This method returns Long.MAX_VALUE if the result does not fit in a long.

Exceptions: The method factorial(int n) throws IllegalArgumentException if n is negative.

Below programs illustrate the use of LongMath.factorial() method:

Example 1:




// Java code to show implementation of
// factorial(int n) 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 n1 = 10;
  
        // Using factorial(int n) method of
        // Guava's LongMath class
        long ans1 = LongMath.factorial(n1);
  
        System.out.println("factorial of "
                           + n1 + " is : "
                           + ans1);
  
        int n2 = 12;
  
        // Using factorial(int n) method of
        // Guava's LongMath class
        long ans2 = LongMath.factorial(n2);
  
        System.out.println("factorial of "
                           + n2 + " is : "
                           + ans2);
    }
}


Output:

factorial of 10 is : 3628800
factorial of 12 is : 479001600

Example 2 :




// Java code to show implementation of
// factorial(int n) method of Guava's
// LongMath Class
  
import java.math.RoundingMode;
import com.google.common.math.LongMath;
  
class GFG {
  
    static long findFact(int n)
    {
        try {
            // Using factorial(int n) method of
            // Guava's LongMath class
            // This should throw "IllegalArgumentException"
            // as n < 0
            long ans = LongMath.factorial(n);
  
            // 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;
  
        try {
  
            // Function calling
            findFact(n);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}


Output:

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

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


My Personal Notes arrow_drop_up
Last Updated : 29 Jan, 2019
Like Article
Save Article
Similar Reads
Related Tutorials