Saltar al contenido
Portada » Factorial de un número en Java

Factorial de un número en Java

El factorial de un número se calcula multiplicando todos los números comprendidos entre 1 hasta el número seleccionado, cálculalo usando Java. El factorial se expresa mediante el carácter !. Por ejemplo, factorial de 5 se indica como 5!. Definición formal: n! = 1 x 2 x 3 x ……. x (n-1) x n.

Factorial de un numero en Java

Ahora que sabemos en qué consiste el cálculo factorial podemos implementar o codificar en Java el algoritmo factorial de la siguiente forma:

	private void calculoFactorial(double numeroEntrada) 
	{
		double factorial=1;
		
		if(numeroEntrada > 1)
		{
			while (numeroEntrada!=0) 
			{
				 factorial=factorial*numeroEntrada; 
				 numeroEntrada--;
			}
		}
		
		System.out.println(factorial);
	}

Como se observa en el código anterior, para resolver el problema se utilizará un bucle While para realizar las multiplicaciones mientras el número de entrada sea mayor que cero.

El resultado de las multiplicaciones se van acumulando en la variable llamada factorial que estará inicializada a 1.

Complejidad computacional

Según la fórmula de Stirling, la complejidad de n! en cuanto al número de bits en su resultado es: O(nlogn). Una buena aproximación para mejorar los tiempos es con computación paralela, pueden descomponerse las multiplicaciones en dos secuencias paralelas y luego realizando una multiplicación final.

Uso de los factoriales

El factorial de un número muchas aplicaciones, una de las más relevantes el cálculo de probabilidades y combinatoria.

Cero factorial

El valor de 0! tenemos que definirlo como 0! = 1, de manera que seamos consecuentes con la definición matemática de producto vacío. El producto vacío se define como el resultado de multiplicar entre sí ningún número.

Algunas propiedades

  • Siendo h y k números enteros positivos se cumple lo siguiente: si h < k entonces h! < k!.

Historia del factorial

Este concepto matemático se ha desarrollado en paralelo en distintas culturas:

  • India: Una de las primeras descripciones del factorial conocidas vienen de Anuyogadvāra-sūtra, uno de los trabajos canónicos del Jainismo.
  • Oriente Medio: El libro de la creación hebrero Sefer Yetzirah, lista factoriales hasta 7! como parte de una investigación sobre el número de palabras que pueden ser formadas en el alfabeto hebreo.
  • Europa: En la Grecia antigua ya existía la combinatoria, aunque no hay una evidencia directa del uso de factoriales. Los primeros trabajos con factoriales documentados en Europa pertenecen a eruditos judíos como Shabbethai Donnolo.

Secuencias y funciones relacionadas

  • Factorial alterno
  • Factorial Bhargava
  • Doble factorial: producto de enteros impares. Ejemplo: 9!! = 1 x 3 x 5 x 7 x 9 = 945.
  • Factorial exponencial: Estos factoriales crecen mucho más rápido que los factoriales normales.
  • Factorial descendente
  • Hiperfactorial

Más algoritmos matemáticas

AlgoritmoDescripción
Sucesión de FibonacciAprende a programar en Java la famosa sucesión de Fibonacci
Números PrimosAlgoritmo de cálculo en Java para saber si un número es primo
FactorialCálculo del factorial de un número en Java
Número PiAprende a calcular Pi en Java
Número eNúmero e, algoritmo en Java
Raíz cuadradaDesarrollo en Java del algoritmo raíz cuadrada
Números PerfectosDetermina en Java si un número es “perfecto”
Conversión binario – hexadecimalConversor binario a hexadecimal en Java
Generación de números aleatoriosGenerar números aleatorios entre 1 y 100, ejemplos prácticos
Matrices en JavaCrea una matriz en Java y manéjala con soltura
Calculadora en JavaEjemplo sencillo para montar una calculadora en java con interfaz básica

Recursos básicos Java

AsuntoDescripción
Tutorial básico y sintaxisTutorial básico Java y sintaxis. Aprende los fundamentos del lenguaje.
Hilos (Threads)Aprende a manejar hilos y las cuestiones básicas de la concurrencia
Funciones LambdaAquí te enseñamos las nociones más importantes para arrancas con funciones lambda
PalíndromosPrograma de ejemplo para el uso de palíndromos en Java.
Máquina Virtual de JavaTe explicamos el funcionamiento de la máquina virtual de java (Java Virtual Machine – JVM)
JDK, JRE y JVMDiferencias entre el JDK, JRE y JVM.
Mejores libros Java en EspañolHazte con los mejores libros Java para aprender paso a paso y profundizar en las mejores prácticas
TensorFlowManejo del API de TensorFlow para la construcción de grafos de operaciones y su ejecución
Tutorial Log4jTutorial para el manejo de Log4j, herramienta ágil y flexible para la gestión de Logs en Java
Java SecurityEntiende y aplica las posibilidades que da Java para mantener la seguridad
Tutorial JConsoleAprende los conceptos básicos de monitorización de procesos Java con JConsole
JavaFXTutorial de JavaFX, librería gráfica moderna para construcción de GUIs en móvil, escritorio y web.
Estructuras de datos en JavaExplicación y ejemplos de las estructuras de datos más importantes: listas, pila, cola, arbol.
JavaapiConjunto de clases, interfaces, métodos y paquetes que forman parte de la plataforma Java estándar
Algoritmo HuffmanMétodo eficiente para codificar datos, asignando códigos más cortos a los caracteres más frecuentes