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); } } |
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); } } } |
java.lang.IllegalArgumentException: n (-5) must be >= 0