Disclosure de IA: al publicarse, este contenido reproducirá digitalmente, con autorización expresa del autor, la voz y fisonomía de Eduardo Espinoza Ramos. Curaduría revisada por matemáticos profesionales.
Política completa → Motivación: ¿cuántos ceros tiene $1000!$?
Un clásico de secundaria pide contar los ceros finales de 1000!. Un cero final corresponde a un factor de 10=2⋅5, y como los factores de 2 son más abundantes que los de 5, la respuesta es v5(1000!). Aplicando la fórmula de Legendre: v5(1000!)=⌊1000/5⌋+⌊1000/25⌋+⌊1000/125⌋+⌊1000/625⌋=200+40+8+1=249 ceros. Esta pregunta —aparentemente elemental— esconde una de las fórmulas más útiles de la aritmética olímpica.
Pero la fórmula de Legendre va mucho más allá de contar ceros. En olimpiadas, se usa para demostrar que ciertos coeficientes binomiales son enteros, para verificar que un cociente de factoriales es un entero (e.g., el número de Catalan Cn=(n2n)/(n+1)), para analizar la divisibilidad de (mm+n) y para probar identidades profundas relacionando combinatoria con aritmética prima.
En este nivel —selectivos IMO— la fórmula de Legendre aparece en dos sabores: la versión suma ∑k≥1⌊n/pk⌋ (útil para cálculos concretos) y la versión con suma de dígitos (n−sp(n))/(p−1) (útil para demostraciones generales y manipulación simbólica). Dominar ambas y saber cuándo usar cada una es la clave de esta lección.
Prerequisito: haberle dado lectura detenida a la Lección 1.1 de este módulo, donde introdujimos la fórmula brevemente. Aquí la demostraremos con rigor completo, exploraremos sus consecuencias y la aplicaremos a tres problemas IMO representativos.
Demostración completa de la fórmula de Legendre
Teorema (Legendre, 1808). Para todo primo p y entero n≥1, la mayor potencia de p que divide a n! es:
$vp(n!)=∑k=1∞⌊pkn⌋.$
Demostración (conteo directo). El producto n!=1⋅2⋅3⋯n contiene exactamente ⌊n/p⌋ múltiplos de p, exactamente ⌊n/p2⌋ múltiplos de p2, etcétera. Cada múltiplo de pj (pero no de pj+1) contribuye exactamente j factores p al producto total. El total de factores p en n! es, por tanto, ∑j≥1(⌊n/pj⌋−⌊n/pj+1⌋)⋅j. Una suma de Abel (por partes) transforma esto en ∑k=1∞⌊n/pk⌋, pues cada ⌊n/pk⌋ cuenta los múltiplos de pk que existen, cada uno contribuyendo un factor p adicional al nivel k. La serie es finita porque pk>n para k>logpn.
Versión con suma de dígitos. Escribamos n en base p: n=∑i=0raipi con ai∈{0,1,…,p−1} y ar=0. Entonces ⌊n/pk⌋=∑i=kraipi−k. Sumando sobre k de 1 a r:
$∑k=1r⌊pkn⌋=∑k=1r∑i=kraipi−k=∑i=1rai∑j=0i−1pj=∑i=1rai⋅p−1pi−1.$
Por otro lado, ∑i=0raipi=n y ∑i=0rai=sp(n), de donde ∑i=1rai(pi−1)=n−a0−(sp(n)−a0)=n−sp(n). Dividiendo por (p−1): vp(n!)=p−1n−sp(n).
Esta segunda forma tiene una consecuencia inmediata: vp(n!)≥0 con igualdad solo si sp(n)=n, lo que ocurre únicamente cuando n=0 o n=1 y p>n (casos triviales). Para n≥p, siempre vp(n!)≥1.
vp(n!)=∑k=1∞⌊pkn⌋=p−1n−sp(n) Valuación de coeficientes binomiales y números de Catalan
La aplicación más inmediata de Legendre es calcular vp(nm)=vp(m!)−vp(n!)−vp((m−n)!). Usando la versión de suma de dígitos:
$vp(nm)=p−1m−sp(m)−(n−sp(n))−((m−n)−sp(m−n))=p−1sp(n)+sp(m−n)−sp(m).$
Esta expresión tiene una interpretación profunda: sp(n)+sp(m−n)−sp(m)=(p−1)⋅c donde c es el número de acarreos al sumar n y m−n en base p para obtener m. Esto es exactamente el teorema de Kummer, que trataremos en profundidad en la lección siguiente. Por ahora, usemos la fórmula directamente.
**El número de Catalan Cn=(n2n)/(n+1) es siempre entero.** Demostración p-ádica: vp(Cn)=vp(n2n)−vp(n+1). Por Legendre, vp(n2n)=p−1sp(n)+sp(n)−sp(2n)=p−12sp(n)−sp(2n). Nótese que sp(2n)≤2sp(n) siempre (pues los acarreos solo pueden reducir la suma de dígitos), así vp(n2n)≥0. Para probar vp(Cn)≥0 para todo p, basta mostrar vp(n+1)≤vp(n2n), lo que se sigue de que Cn=n+11(n2n) cuenta estructuras combinatorias (árboles binarios completos, caminos de Dyck), y por tanto es entero por un argumento de doble conteo. La verificación p-ádica explicita cuánto "divisibilidad extra" provee el numerador.
Ejemplo concreto: v3(C10)=v3(1020)−v3(11). v3(11)=0 (pues 11=3⋅3+2). v3(1020): 20=(202)3, 10=(101)3, s3(10)+s3(10)−s3(20)=2⋅(1+0+1)−(2+0+2)=4−4=0. Así v3(C10)=0/2−0=0; el número de Catalan C10=16796 no es divisible por 3. Verificación: 16796/3≈5598.7, correcto.
Fórmula de Kummer aplicada a productos de binomiales: cuando el problema involucra ∏k=0n−1(km+k) u otras expresiones similares (e.g., los coeficientes multinomiales), la fórmula de Legendre se aplica iterativamente. La técnica es factorizar cada factorial presente, aplicar Legendre y sumar; esta linealidad de vp respecto de productos es la herramienta esencial.
vp(nm)=p−1sp(n)+sp(m−n)−sp(m) Desigualdades para $v_p(n!)$ y estimaciones asintóticas
La fórmula de Legendre tiene una forma compacta para estimaciones: la suma geométrica ∑k≥1⌊n/pk⌋<∑k≥1n/pk=n/(p−1) da la cota superior vp(n!)<n/(p−1). Por otro lado, vp(n!)≥⌊n/p⌋≥(n−p+1)/p. Estas estimaciones son suficientemente finas para la mayoría de los argumentos olímpicos.
Una cota muy útil es la desigualdad de Kummer-Legendre: para n=∑iaipi, se tiene vp(n!)=(n−sp(n))/(p−1)≤(n−1)/(p−1), con igualdad cuando n es una potencia de p (pues sp(pk)=1). Esta cota permite probar que si pk∣n! y p>n1/k, entonces pk∤n! si k es demasiado grande.
Ejemplo de estimación en problemas: sea n≥2 y p primo con n/2<p≤n. Entonces ⌊n/p⌋=1, ⌊n/p2⌋=0, luego vp(n!)=1. Esto implica que en n!, cada primo p con n/2<p≤n aparece exactamente con exponente 1. Este hecho es central en las demostraciones elementales del postulado de Bertrand y en muchos problemas de olimpiada que piden analizar la divisibilidad de (n2n) por primos en ese rango: vp(n2n)=vp((2n)!)−2vp(n!). Para n<p≤2n: vp((2n)!)=1, vp(n!)=0, así vp(n2n)=1. Para p>2n: vp(n2n)=0. Esto reproduce el teorema de Kummer para este rango y da una prueba de que (n2n) es divisible por todos los primos en (n,2n].
El teorema de Bertrand como consecuencia. Si no existiese ningún primo en (n,2n], entonces (n2n) no sería divisible por ningún primo mayor que n; pero (n2n)≥4n/(2n+1) (por la desigualdad de la media geométrica o por la estimación del binomio central), que crece más rápido que cualquier producto finito de primos menores que n elevados a potencias acotadas por Legendre. Esta contradicción da el postulado de Bertrand. La idea p-ádica subyacente —comparar vp(n2n) con el tamaño de (n2n)— es el núcleo de la demostración clásica de Ramanujan y Erdős.
p−1n−(p−1)⌊logpn⌋−1≤vp(n!)<p−1n Problemas IMO resueltos con la fórmula de Legendre
Problema 1 (IMO Shortlist 2002 N3, adaptado). Prueba que para todo primo p y entero n≥1, se tiene vp((pn−1pn))=1.
Solución. Por la fórmula de Legendre: vp(pn−1pn)=vp((pn)!)−vp((pn−1)!)−vp((pn−pn−1)!). Calculamos: vp((pn)!)=(pn−1)/(p−1) (pues sp(pn)=1). vp((pn−1)!)=(pn−1−1)/(p−1). Para el tercer factorial: pn−pn−1=pn−1(p−1); en base p, esto es (p−1) seguido de n−1 ceros, así sp(pn−pn−1)=p−1. Entonces vp((pn−pn−1)!)=(pn−pn−1−(p−1))/(p−1)=pn−1−1.
Sumando: vp(pn−1pn)=p−1pn−1−p−1pn−1−1−(pn−1−1)=p−1pn−pn−1−pn−1+1=pn−1−pn−1+1=1. El resultado sigue.
Problema 2 (IMO 1990 P1, reformulado). Encuentre todos n∈Z+ para los que (n2n) no es divisible por ningún primo mayor que n. ¿Para qué n es (n2n) una potencia de 2 veces un número impar cuya parte prima es menor o igual a n?
Análisis. Por la fórmula de Legendre, vp(n2n)=(sp(n)+sp(n)−sp(2n))/(p−1)=(2sp(n)−sp(2n))/(p−1). Para un primo p>n, la representación en base p de n es simplemente n (un solo "dígito"), así sp(n)=n para p>n; pero en ese caso p∤2n tampoco (pues p>2n/2=n y 2n<2p implica sp(2n)=2n si 2n<p, o sp(2n)=sp(2n−p)+1 si p≤2n<2p). Para n<p≤2n: en base p, n se escribe como n=1⋅p0⋅n ... mejor usar la versión suma directa: vp(n2n)=⌊2n/p⌋−2⌊n/p⌋+⌊2n/p2⌋−2⌊n/p2⌋+⋯. Para n<p≤2n: ⌊2n/p⌋=1 y ⌊n/p⌋=0; para k≥2: ⌊2n/pk⌋=0. Así vp(n2n)=1. Esto confirma que todo primo en (n,2n] divide exactamente a (n2n). La pregunta del problema reformulado no tiene solución para n≥3 (pues Bertrand garantiza un primo en (n,2n] para todo n≥1).
Lección meta. El manejo fluido de la fórmula de Legendre —saber en qué forma usarla y cómo estimar sp(n)— es la diferencia entre resolver y no resolver problemas de este tipo en tiempo de olimpiada. La representación en base p de los argumentos relevantes es la técnica auxiliar indispensable.
vp(pn−1pn)=1para todo primo p y n≥1 Aplicaciones avanzadas: productos y progresiones aritméticas
La fórmula de Legendre se extiende naturalmente a productos como ∏k=1n(a+k⋅d) (progresiones aritméticas) y a multinomiales. Una herramienta clave para estos contextos es la fórmula de Kummer generalizada, que relaciona la valuación p-ádica de un coeficiente multinomial (k1,k2,…,krn)=n!/(k1!k2!⋯kr!) con el número de acarreos en la suma k1+k2+⋯+kr=n en base p.
Para las progresiones aritméticas, el resultado central es: si gcd(a,p)=1 (es decir p∤a), entonces vp(a(a+d)(a+2d)⋯(a+(n−1)d)) puede ser acotado usando que la progresión contiene exactamente ⌊n/pk⌋−⌊(a−1)/pk⌋ múltiplos de pk en cada nivel k. Esto generaliza directamente la fórmula de Legendre al caso de progresiones que no comienzan en 1.
Aplicación olímpica: el coeficiente binomial generalizado de Newton (nα)=n!α(α−1)⋯(α−n+1) para α∈Z es entero cuando α≥n≥0 o α≤0. La valuación p-ádica del numerador se calcula como una progresión aritmética de razón −1 a partir de α, y la del denominador por Legendre. La integridad sigue de que (nα) cuenta subconjuntos de n elementos de un conjunto de ∣α∣ elementos (para α entero no negativo), combinatoriamente entero.
Problema de selectivo (Iberoamericana 2016 estilo). Sea n≥1 entero. Prueba que vp((n!)p(np)!)=0 para todo primo p y todo n≥1. Es decir, el multinomial central (n,n,…,nnp) (p copias de n) nunca es divisible por p.
Solución. vp((n!)p(np)!)=vp((np)!)−p⋅vp(n!). Por Legendre: vp((np)!)=(np−sp(np))/(p−1). Ahora, np en base p es simplemente n seguido de un cero (si n<p) o más complicado si n≥p; en todo caso, sp(np)=sp(n) (multiplicar por p en base p desplaza los dígitos un lugar sin cambiar ningún dígito). Por lo tanto vp((np)!)=(np−sp(n))/(p−1). Y p⋅vp(n!)=p⋅(n−sp(n))/(p−1). La diferencia: vp(n,…,nnp)=p−1np−sp(n)−p(n−sp(n))=p−1np−sp(n)−pn+psp(n)=p−1(p−1)sp(n)=sp(n)≥1. ¡Un momento! Esto no da 0 sino sp(n). En efecto, el multinomial (n,…,nnp) sí es divisible por psp(n) exactamente. El enunciado correcto es que vp(n,…,nnp)=sp(n), lo que confirma que la potencia exacta de p que divide al multinomial central está controlada por la representación en base p de n.
vp(n,n,…,nnp)=sp(n)