¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Permutaciones y combinaciones: contar posibilidades

Después de esta lección: Puedo contar elecciones y ordenaciones con el producto, las permutaciones y las combinaciones.

Lección de 55 min4 comandosLaboratorio de compiladores y arquitectura: gcc, flex, bison y RISC-V en una VM

Cuántas contraseñas son posibles

Contar sin escribir una lista es la idea de la combinatoria: decir cuántas opciones existen sin enumerarlas. Con la regla del producto, las permutaciones y las combinaciones calculas cuántas contraseñas o cuántos equipos son posibles.

Un PIN de cuatro cifras tiene 10 000 posibilidades. Un banco quiere saber si añadir una cifra más compensa. Contar te da la respuesta.

Al final de esta lección

Nota

Puedo contar elecciones y ordenaciones con el producto, las permutaciones y las combinaciones.

Palabras clave

PalabraQué significaEjemplo
Regla del productosi eliges en pasos, multiplicas las opciones de cada paso
Factorialel producto de todos los enteros desde n hasta 14! = 24
Permutaciónuna elección en la que el orden importa
Combinaciónuna elección en la que el orden no importa
Repeticiónpoder usar el mismo elemento más de una vez

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

La regla del producto multiplica las opciones

Una cafetería de campus ofrece un menú: 3 primeros, 4 segundos y 2 postres. Eliges uno de cada. Cada primero se combina con cada segundo, y cada pareja con cada postre.

Por tanto hay 3 × 4 × 2 = 24 menús distintos. Esta es la regla del producto: multiplicas las opciones de cada paso.

Ejemplo resuelto: cuatro casos del producto

SituaciónOpciones por pasoTotal
Menú de la cafetería3, 4 y 224
PIN de 4 cifras10, 10, 10 y 1010 000
Clave de 3 letras (26 letras)26, 26 y 2617 576
Un byte (8 bits)2 ocho veces256

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El producto en Python

Comando
python3 -c "print(3 * 4 * 2, 10 ** 4, 26 ** 3)"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Los bits del laboratorio

Comando
python3 -c "print(2 ** 8, 2 ** 32, 32 * 32)"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Una permutación cuenta ordenaciones

Cinco corredores terminan una carrera. ¿De cuántas formas pueden ocupar los tres puestos del podio? El primero tiene 5 opciones, el segundo 4 y el tercero 3.

Son 5 × 4 × 3 = 60. Cuando colocas todos, el producto es el factorial: 5! = 5 × 4 × 3 × 2 × 1 = 120. Aquí el orden importa, y nadie se repite.

Una combinación ignora el orden

Ahora elige 3 personas de 5 para un equipo. Ana, Luis y Marta son el mismo equipo en cualquier orden. Cada equipo de 3 aparece en 3! = 6 ordenaciones.

Por eso divides: 60 ÷ 6 = 10 equipos. La combinación es la permutación dividida entre el factorial de lo que eliges.

Ejemplo resuelto: parejas de cuatro letras

Orden importaCuántasLista
Sí, permutaciones de 212AB BA AC CA AD DA BC CB BD DB CD DC
No, combinaciones de 26AB AC AD BC BD CD

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Factorial, permutaciones y combinaciones

Comando
python3 -c "import math; print(math.factorial(5), math.perm(5, 3), math.comb(5, 3))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Python lista las parejas

Comando
python3 -c "import itertools; print(list(itertools.combinations('ABCD', 2)), len(list(itertools.permutations('ABCD', 2))))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error frecuente

Advertencia

Mucha gente usa la palabra combinación cuando el orden importa, como en un candado. Prueba esto: si cambiar el orden da otro resultado, el orden importa. Un candado 1-2-3 no es el 3-2-1, así que cuenta ordenaciones.

Sobre este laboratorio y su código: Laboratorio de compiladores y arquitectura: gcc, flex, bison y RISC-V en una VM

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.