9. Factorial de un número

El factorial permite contar ordenamientos y aparece como una de las operaciones fundamentales de la combinatoria.

9.1 Introducción

En los temas anteriores contamos configuraciones mediante sumas y productos. Cuando queremos ordenar todos los elementos distintos de un conjunto, aparece un producto especial: el factorial.

El factorial resume la multiplicación de todos los números enteros positivos desde 1 hasta un número dado. Su símbolo es el signo de admiración: n!.

9.2 Definición del factorial

Para un número entero no negativo n, el factorial se define como:

n! = n × (n - 1) × (n - 2) × ... × 3 × 2 × 1

Por ejemplo:

5! = 5 × 4 × 3 × 2 × 1 = 120

El factorial crece rápidamente porque cada nuevo número multiplica el resultado anterior.

9.3 Casos iniciales

Los primeros valores del factorial son:

nExpresiónn!
00!1
111
22 × 12
33 × 2 × 16
44 × 3 × 2 × 124
55 × 4 × 3 × 2 × 1120

El caso 0! = 1 se establece por definición. Esta elección hace que muchas fórmulas combinatorias funcionen correctamente también cuando no se selecciona ningún elemento.

9.4 Relación de recurrencia

El factorial puede calcularse a partir del factorial anterior:

n! = n × (n - 1)!
0! = 1

Por ejemplo, como 4! = 24, entonces:

5! = 5 × 4! = 5 × 24 = 120

Esta relación conecta el factorial con la idea de recurrencia, que estudiaremos con mayor profundidad en temas posteriores.

9.5 Simulación del factorial

Indica un número entre 0 y 10 para observar los productos parciales que forman su factorial.

Calculadora paso a paso

9.6 Factorial y ordenamientos

Si tenemos n objetos distintos y queremos ordenarlos todos, hay n! formas posibles:

Primera posición: n opciones
Segunda posición: n - 1 opciones
Tercera posición: n - 2 opciones
...
Última posición: 1 opción

Total = n × (n - 1) × ... × 1 = n!

En cada posición queda una opción menos porque los objetos no se repiten. Este es el fundamento de las permutaciones simples.

9.7 Ejemplo con tres elementos

Con los elementos A, B y C, la cantidad de ordenamientos es:

3! = 3 × 2 × 1 = 6

Los seis ordenamientos son:

ABC, ACB, BAC, BCA, CAB, CBA

Cada secuencia utiliza los tres elementos exactamente una vez.

9.8 Un ejemplo en JavaScript

El factorial puede calcularse con un ciclo que multiplica los valores desde 1 hasta n.

function factorial(n) {
  let resultado = 1;

  for (let valor = 2; valor <= n; valor += 1) {
    resultado *= valor;
  }

  return resultado;
}

console.log(factorial(5));

La variable resultado comienza en 1 porque no modifica la multiplicación inicial. Para 0 y 1, la función devuelve 1.

9.9 Versión recursiva

La definición matemática del factorial también puede expresarse mediante una función que se llama a sí misma.

function factorialRecursivo(n) {
  if (n === 0) return 1;
  return n * factorialRecursivo(n - 1);
}

console.log(factorialRecursivo(4));

El caso base es 0! = 1. Sin un caso base, la función seguiría llamándose indefinidamente.

9.10 Crecimiento del factorial

El factorial crece muy rápidamente:

5! = 120
6! = 720
7! = 5.040
8! = 40.320
10! = 3.628.800

Este crecimiento explica por qué enumerar todos los ordenamientos puede ser inviable incluso con una cantidad moderada de elementos.

9.11 Factorial y eficiencia

Un algoritmo que genera todos los ordenamientos de n elementos puede necesitar procesar hasta n! resultados. Este crecimiento se denomina factorial y suele ser más rápido que el crecimiento exponencial de muchas funciones.

Conocer el factorial antes de programar una enumeración permite decidir si conviene buscar otra estrategia, aplicar restricciones o construir una solución que no genere todos los casos.

9.12 Comprobación con JavaScript

Podemos construir una tabla de valores factoriales para observar el crecimiento paso a paso.

let factorialActual = 1;

for (let n = 0; n <= 6; n += 1) {
  if (n > 0) factorialActual *= n;
  console.log(`${n}! = ${factorialActual}`);
}

El valor se actualiza multiplicando el factorial anterior por el nuevo número, en lugar de recomenzar el producto desde 1 cada vez.

9.13 Aplicaciones en informática

  • Contar ordenamientos de tareas, elementos o registros.
  • Analizar algoritmos de generación de permutaciones.
  • Calcular fórmulas de combinaciones y variaciones.
  • Estimar el tamaño de espacios de búsqueda.
  • Resolver problemas de asignación y organización.
  • Construir modelos de probabilidad discreta.

9.14 Errores frecuentes

  • Confundir n! con n × n.
  • Olvidar que 0! = 1.
  • Aplicar el factorial cuando se permite repetir elementos sin restricciones.
  • Usar números no enteros o negativos en la definición básica.
  • Ignorar que el resultado puede crecer demasiado para una representación numérica común.

9.15 Qué debes recordar de este tema

  • El factorial de n es el producto de los enteros desde 1 hasta n.
  • La definición incluye el caso especial 0! = 1.
  • La relación n! = n × (n - 1)! permite calcularlo recursivamente.
  • n! cuenta los ordenamientos de n elementos distintos.
  • El factorial crece muy rápidamente.
  • Es una operación fundamental para permutaciones, variaciones y combinaciones.

9.16 Conclusión

El factorial resume una cadena de decisiones en la que cada posición dispone de una opción menos que la anterior. Por eso es la herramienta natural para contar ordenamientos de elementos diferentes.

En el próximo tema estudiaremos propiedades y aplicaciones del factorial para utilizarlo de forma más eficiente en problemas combinatorios.