Coeficientes binomiales

El coeficiente binomial o número combinatorio (nk)\binom{n}{k} es el número de maneras de escoger kk objectos de un total de nn. Su fórmula es bien conocida: (nk)=n!k!(nk)!,\binom{n}{k} = \frac{ n! }{ k! (n-k)! } \enspace , donde n!=n(n1)21n!=n\cdot (n-1)\cdots 2\cdot 1. Esta fórmula no es demasiado práctica desde un punto de vista computacional, porque se tiene que trabajar con números muy grandes (los factoriales) para acabar obteniendo un resultado mucho más pequeño. Por ejemplo, (2010)=20!10!10!=24329020081766400001316819440000=184756,\binom{20}{10} = \frac{ 20! }{10! 10!} = \frac{2432902008176640000}{1316819440000} = 184756 \enspace , donde se puede ver que, pese a que el número final sólo tiene 6 cifras, nos ha hecho falta calcular 20!20!, que tiene 19. Esto puede ser un problema, puesto que el tipo int de 32 bits no puede almacenar números de más de 10 cifras.

Este, sin embargo, no es el único modo de calcular (nk)\binom{n}{k}. Por ejemplo, los números combinatorios satisfacen la propiedad siguiente: (nk)={1si k=0 o k=n(n1k1)+(n1k)si 0<k<n\binom{n}{k} = \left\{ \begin{array}{ll} 1 & \mbox{si $k = 0$ o $k = n$} \\ \binom{n-1}{k-1} + \binom{n-1}{k} & \mbox{si $0<k<n$} \end{array} \right. Esta fórmula recursiva permite calcular los números combinatorios sin multiplicaciones ni divisiones, mediante un procedimiento conocido hoy en día como “Triángulo de Pascal” o “Triángulo de Tartaglia”, aunque tenga referencias históricas con más de 1000 años de antigüedad:

11
11 11
11 22 11
11 33 33 11
11 44 66 11 11

\qquad

(00)\binom{0}{0}
(10)\binom{1}{0} (11)\binom{1}{1}
(20)\binom{2}{0} (21)\binom{2}{1} (22)\binom{2}{2}
(30)\binom{3}{0} (31)\binom{3}{1} (32)\binom{3}{2} (33)\binom{3}{3}
(40)\binom{4}{0} (41)\binom{4}{1} (42)\binom{4}{2} (43)\binom{4}{3} (44)\binom{4}{4}

Para calcular más números combinatorios sólo hay que llenar más filas del triángulo. Usad esta idea para calcular diversos números combinatorios.

Entrada

La entrada consiste en diversos casos, cada uno con dos naturales nn y kk, donde 0n300\le n\le 30 y 0kn0\le k\le n.

Salida

Para cada caso, escribid (nk)\binom{n}{k}.

Información del problema

Autoría: Omer Giménez

Generación: 2026-01-25T12:02:45.405Z

© Jutge.org, 2006–2026.
https://jutge.org