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

Factorial de un número en Javascript

El factorial de un número en se calcula multiplicando todos los números comprendidos entre 1 hasta el número seleccionado. n! = 1 x 2 x 3 x ……. x (n-1) x n. Además, el factorial del número 0 es 1.

Algoritmo factorial Javascript

La implementación para calcular el factorial en Javascript podemos hacerla como mostramos a continuación, a partir de un bucle decreciente.

var entrada = 5; 
let factorial = 1;
for(i = entrada; i>0; i--){
    factorial *= i;
}
document.write(factorial);

Algoritmo recursivo factorial JS

Podemos además implementar el cálculo factorial en JS de una manera recursiva tal y como te mostramos. Para el caso recursivo tenemos que tener claro cual es el caso general y el caso base, que será la condición de parada:

  • Caso General: j * (j-1)!
  • Caso Base: 1 si j=0
function funcionRecursiva(j) { 
	if (j == 0){ 
		return 1; 
	}
	return j * funcionRecursiva(j-1); 
}

Complejidad computacional del factorial Javascript

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.

Funciones relacionadas con el factorial

  • 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

Factorial en Java

Si además quieres saber como calcular el factorial de un número en Java, aquí te lo dejamos:

Más algoritmos matemáticos en Javascript

Sucesión de FibonacciCódigo JS que implementa la sucesión de Fibonacci
Números PrimosCómo calcular si un número es primo
Cálculo FactorialImplementación del factorial de un número en JS
Cálculo Número PiCálculo del número Pi en JS

Recursos básicos JS

PrototypeAñadir propiedades de forma dinámica a un objeto
toLocaleStringHerramienta esencial para el formateo de fechas y números en aplicaciones internacionales
Recursividad y pilaUso de recursividad y funcionamiento de la pila JS
DesestructuraciónMecanismo para desempaquetar arrays y objetos
Manejo de StringsManejo básico de Strings, cadenas de caracteres
OperadoresUso de operadores de comparación y lógicos
PromesasGestión de peticiones asíncronas con promesas
SleepImplementación de la función sleep() en JS
ThisUso de la palabra reservada this en diferentes contextos
MapsTe enseñamos cuando usar Map y cuando Object con ejemplos
Switchery JSLibrería para modificar el estilo de los checkbox
Mejores libros Javascript EspañolEncuentra los mejores libros para aprender JS y convertirte en el desarrollador más demandado.
Exception JSManejo de excepciones en Javascript, control de errores y flujo de programa.
Obfuscator JavascriptProtege tu código Javascript Ofuscándolo
Javascript desde ceroAprende los conceptos básicos de Javascript, ponte en marcha.
LodashLodash hace que la manipulación de datos en JavaScript sea más fácil y menos propensa a errores
Formatdate JSFormateo y trabajo con fechas en javascript de forma sencilla.
DayjsBiblioteca para la gestión de fechas
padStartManeja cadenas de texto con la función padStart()