El método factorial(int n) de la clase BigIntegerMath de Guava se usa para encontrar el factorial del número dado. Devuelve n!, es decir, el producto de los primeros n enteros positivos.
Sintaxis:
public static BigInteger factorial(int n)
Parámetros: Este método toma como parámetro el número n cuyo factorial se quiere encontrar.
Valor devuelto: este método devuelve el factorial del número dado n.
Excepciones: este método lanza IllegalArgumentException si n < 0.
Nota:
- El método devuelve 1 si n == 0.
- El resultado ocupa espacio O(n log n), así que utilícelo con precaución.
- Esto utiliza un algoritmo recursivo binario eficiente para calcular el factorial con múltiplos equilibrados.
Los siguientes ejemplos ilustran el método BigIntegerMath.factorial():
Ejemplo 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); } }
Producción:
Factorial of 10 is: 3628800 Factorial of 12 is: 479001600
Ejemplo 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); } } }
Producción:
Exception: java.lang.IllegalArgumentException: n (-5) must be >= 0
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA