Bonus: Ejemplos de problemas y soluciones

El factorial aparece a menudo en matemáticas, especialmente en problemas de combinatoria y análisis matemático. Vamos a entender qué es el factorial y a aprender a resolver problemas sencillos.

¿Qué es el factorial?

A veces en matemáticas es necesario calcular el producto de números naturales consecutivos comenzando por la unidad. Si la tarea es calcular el producto hasta diez, esa escritura cabe en una sola línea: 1 × 2 × 3 × 4 × 5. Si los cálculos llegan a varias decenas o incluso centenares, solo la escritura de la expresión puede llevar bastante tiempo. Para ahorrar tiempo y lograr una escritura más compacta, en matemáticas existe el factorial.

El factorial de un número natural n es el producto de todos los números naturales desde 1 hasta n, incluyendo el propio n. El factorial se escribe con un signo de exclamación después del número (n!), y se pronuncia «n factorial». Sabiendo todo esto, la expresión anterior se puede escribir de forma más compacta: 1 × 2 × 3 × 4 × 5 = 5! = 120. El factorial se aplica activamente en combinatoria, teoría de números, análisis matemático, análisis funcional y otras ramas de las matemáticas.

💡
Los números naturales son los números que aparecen de forma natural durante el conteo ordinal (1, 2, 3, 4, 5 y siguientes). Los números naturales dispuestos consecutivamente en orden creciente se denominan serie natural.

Propiedades básicas del factorial

Es importante recordar que en matemáticas el factorial solo puede ser un número natural. Por lo tanto, no se puede calcular el factorial de un número negativo o fraccionario. También es importante recordar:

  • El factorial de cero siempre es igual a uno — 0! = 1;
  • El factorial de uno siempre es igual a uno — 1! = 1.

Para un cálculo rápido se puede utilizar una tabla de factoriales, que contiene factoriales de números ya calculados:

n!Valor
1!1
2!2
3!6
4!24
5!120
6!720
7!5 040
8!40 320
9!362 880
10!3 628 800
11!39 916 800
12!479 001 600
13!6 227 020 800
14!87 178 291 200
15!1 307 674 368 000
16!20 922 789 888 000
17!355 687 428 096 000
18!6 402 373 705 728 000
19!121 645 100 408 832 000
20!2 432 902 008 176 640 000

De la tabla se puede observar que el factorial es una función de crecimiento rápido. ¡El valor de 10! ya supera el orden de los miles, pasando a los millones.

Fórmula recurrente del factorial

El factorial está sujeto a recursividad, lo que simplifica su cálculo. Consideremos un ejemplo simple. Necesitamos encontrar el valor de 6!. Para ello, descomponemos la escritura compacta del factorial en factores individuales: 6! = 1 × 2 × 3 × 4 × 5 × 6. Podemos empezar a multiplicar todos los números uno tras otro, pero de la escritura se puede ver que podemos ahorrar tiempo multiplicando el factorial de cinco por seis: 5! × 6. Ya sabemos que el factorial de 5 es 120, así que simplemente multiplicamos el valor por seis y obtenemos 720: 6! = 1 × 2 × 3 × 4 × 5 × 6 = 5! × 6 = 720.

Imagen que muestra la ecuación del factorial de 6 y su solución.
Calculando el factorial de 6.

La fórmula recurrente del factorial en su forma general se puede escribir así:

n! = (n — 1)! × n. Esta fórmula es útil para construir algoritmos de cálculo factorial en programación, pero calcular factoriales de números grandes con ella es largo y complejo. Por ejemplo, si necesitamos encontrar 100!, entonces necesitamos conocer 99!, porque 100! = 99! × 100.

Usemos la fórmula recurrente del factorial para el cálculo usando Python. El código de la función tendrá este aspecto:

def factorial(n):
    # Procesamiento de valores estándar
    if n == 1 or n == 0:
        return 1
    else:
        # Procesamiento de valores mayores que uno
        return factorial(n-1) * n

Creamos la función factorial y le pasamos el valor n como argumento. Si n es cero o uno, devolvemos uno, de acuerdo con las propiedades básicas del factorial. En los demás casos, llamamos recursivamente a la función factorial con el valor n-1. Intentemos ejecutar la función para diferentes números y comparar el resultado con la tabla de factoriales:

print(factorial(5))
print(factorial(10))
print(factorial(15))
print(factorial(999))
Salida:
>>> 120
>>> 3628800
>>> 1307674368000
>>> RecursionError: profundidad máxima de recursión excedida en la comparación

Los resultados de la función son correctos, lo que significa que el código funciona. Se puede observar que al intentar calcular 999!, el programa arroja un error. Esto se debe a la profundidad máxima de recursión: en Python, por defecto, hay un límite de 998 llamadas recursivas. La profundidad de recursión se puede aumentar si se especifica un nuevo valor de límite antes de la función:

import sys
sys.setrecursionlimit(2000)

Ahora la función se puede llamar recursivamente hasta 2000 veces, pero esto puede sobrecargar el ordenador, especialmente si se calculan valores grandes.

Fórmula de Stirling

Calcular el factorial de un número n encontrando el producto de todos los números naturales de 1 a n puede llevar mucho tiempo. Estas tareas son difíciles de procesar incluso con un ordenador. Todo se debe a que la función factorial crece demasiado rápido. Se puede simplificar la tarea con la fórmula del matemático escocés James Stirling, que permite calcular rápidamente el valor aproximado del factorial. La escritura general de la fórmula tiene el siguiente aspecto:

Fórmula matemática de Stirling para aproximar el factorial de un número.
Aproximando factoriales con la fórmula de Stirling.

Para comprender la fórmula, recordemos que π es aproximadamente igual a 3,14, y e es 2,71. Después de esto, solo queda sustituir el valor de n en la fórmula de Stirling y realizar las operaciones matemáticas.

Consideremos un ejemplo de encontrar 5! usando la fórmula de Stirling:

Imagen que muestra la fórmula de Stirling aplicada al cálculo del factorial de 5.
Aproximando 5! con la fórmula de Stirling.

Después de una serie de transformaciones y cálculos, obtenemos que 5! = 118,019. Si multiplicamos los números uno tras otro, entonces 5! = 120. En el ejemplo se puede ver claramente que el valor obtenido es aproximado. Para valores pequeños de n, como en el ejemplo anterior, el error será mayor que para valores grandes.

¿Dónde se aplica el factorial?

Un área de aplicación clara del factorial son los problemas de permutaciones sin repeticiones de la combinatoria. Considerémoslo con un ejemplo.

Problema

Se invitó a un grupo de 6 personas a un banquete. ¿De cuántas maneras se puede colocar a los invitados en una mesa?

En la mesa hay seis lugares, uno para cada invitado:

Ilustración de un problema de permutación que se resuelve usando factoriales.
Resolviendo un problema de orden con factoriales.

Solución del problema usando el factorial

Se puede intentar calcular manualmente todas las posibles combinaciones de colocación de los invitados, pero esto llevará mucho tiempo. En primer lugar, las combinaciones ya contadas deben recordarse y, con cada nueva combinación, comprobar si ya existe. En segundo lugar, es muy fácil perder una combinación posible.

Imagen que muestra las diferentes permutaciones posibles de 6 elementos tomados de 3 en 3.
Todas las soluciones posibles del problema de permutación.

Estos problemas se pueden resolver de forma fácil y rápida usando el factorial. Para ello, a cada lugar se le asigna una letra del alfabeto latino de la A a la F:

Ilustración de un problema de permutación usando letras como elementos a ordenar.
Permutaciones usando factoriales.

En el lugar de la letra A podemos colocar a cualquiera de los 6 invitados, nos quedarán 5. En el lugar de la letra B ya podemos sentar a cualquiera de los 5 invitados, quedarán 4. En el lugar de la letra C podemos sentar a cualquiera de los 4 invitados, quedarán 3. Y así sucesivamente. En el último lugar F solo podemos sentar a un invitado, ya que los demás ya están sentados. Obtenemos la siguiente situación:

Ilustración que muestra cómo calcular el número total de permutaciones multiplicando las opciones disponibles en cada paso.
Calculando permutaciones mediante multiplicación.

Para saber todas las formas de sentar a los invitados, es necesario multiplicar las opciones posibles escritas en la imagen sobre los lugares. Obtenemos 6 × 5 × 4 × 3 × 2 × 1. Esta misma expresión se puede escribir como 6!, que es igual a 720.

Problemas prácticos

Ahora sabemos lo suficiente para resolver problemas de búsqueda de factoriales. Es importante recordar que se pueden simplificar los factoriales, desplegar la escritura abreviada, enrollar la completa, reducir y multiplicar.

Problema 1

Simplificar la fracción:

Imagen que muestra la fracción 50! / 49!.
Simplificando factoriales en una fracción.

Para resolver el problema, usemos la propiedad recurrente del factorial y descompongamos el numerador. Los valores resultantes en el numerador y el denominador se pueden reducir, quedando 50.

Imagen que muestra la solución paso a paso de la simplificación de la fracción 50!/49!.
Simplificando factoriales: solución detallada.

Problema 2

Encontrar el valor de la expresión para n=5:

Imagen que muestra una expresión matemática con factoriales y paréntesis.
Simplificando expresiones con factoriales.

Sustituimos los valores y calculamos los paréntesis, el numerador resultante se puede descomponer según la fórmula recurrente, para que la expresión tenga el aspecto de 6 × 5 × 4!. Reducimos lo superfluo y obtenemos 6 × 5 = 30:

Imagen que muestra la expresión matemática 20!/19! + 37!/36!.
Resolviendo un problema con factoriales y fracciones.
Imagen que muestra la solución paso a paso de la simplificación de la expresión (5+1)!/(5-1)!.
Resolviendo una expresión matemática con factoriales.

Problema 3

Encontrar la suma de los factoriales de los números del 1 al 5:

Imagen que muestra la expresión matemática 1! + 2! + 3! + 4! + 5!.
Calculando la suma de factoriales.

Encontramos el factorial de cada número y calculamos la suma de los términos:

Imagen que muestra el resultado de la suma de factoriales: 1! + 2! + 3! + 4! + 5! = 153.
Resultado de la suma de factoriales.

Problema 4

Encontrar el valor de la expresión:

Imagen que muestra la expresión matemática 20!/19! + 37!/36!.
Resolviendo un problema con factoriales y fracciones.

Descomponemos ambos numeradores según la fórmula recurrente del factorial:

Imagen que muestra la solución paso a paso de la expresión 20!/19! + 37!/36!.
Simplificando y resolviendo una expresión con factoriales.

Reducimos y multiplicamos, obteniendo 57 en la respuesta.

Resumen

El factorial de un número natural n es el producto de los números naturales de 1 a n.

El factorial de cero y uno siempre es igual a uno — 0! = 1 y 1! = 1.

No se puede calcular el factorial para números negativos y fraccionarios;

El factorial es una función de crecimiento rápido, por lo que es difícil encontrar valores para números grandes.

Se puede calcular rápidamente el factorial usando la fórmula de Stirling, pero el valor será aproximado.

Categorizado en:

Fundamentos,