Legendre’s Formula calculates the exponent of a prime p in the prime factorization of factorial \(n!\).
For positive integer n and prime p:
\(v_p(n!)=\sum_{k=1}^{\infty}\left\lfloor \frac{n}{p^k} \right\rfloor\)
The floor function \(\lfloor x\rfloor\) means the greatest integer less than or equal to x. The summation terminates when \(p^k>n\).
中文释义
勒让德公式:用来求解正整数阶乘 \(n!\) 的素因数分解里,素数 p 出现的最高幂次。
公式:
\(v_p(n!)=\left\lfloor \frac{n}{p} \right\rfloor+\left\lfloor \frac{n}{p^2} \right\rfloor+\left\lfloor \frac{n}{p^3} \right\rfloor+\dots\)
\(\lfloor x\rfloor\) 为向下取整;当 \(p^k>n\) 时,该项数值为 0,计算自动停止。
核心原理
每 p 个数出现 1 个 p 的倍数,贡献 1 个素因子p;
每 \(p^2\) 个数出现 1 个平方倍数,额外再多贡献 1 个p;
更高次幂同理,累加得到总次数。
例 1 基础求阶乘素因子次数
Problem: Find the exponent of prime 2 in \(10!\)
题目:求 \(10!\) 中素因子 2 的次数
\(\begin{align*} v_2(10!)&=\left\lfloor\frac{10}{2}\right\rfloor+\left\lfloor\frac{10}{4}\right\rfloor+\left\lfloor\frac{10}{8}\right\rfloor+\left\lfloor\frac{10}{16}\right\rfloor\\ &=5+2+1+0=\boldsymbol{8} \end{align*}\)
例 2 换素数计算
Problem: Calculate \(v_3(15!)\)
题目:计算 \(15!\) 里素因子 3 的次数
\(v_3(15!)=\left\lfloor\frac{15}{3}\right\rfloor+\left\lfloor\frac{15}{9}\right\rfloor=5+1=\boldsymbol{6}\)
例 3 经典应用:求阶乘末尾连续 0 的个数
末尾 0 由 \(2\times5\) 成对产生,取 2、5 幂次的较小值。
Problem: How many trailing zeros does \(25!\) have?
题目:求 \(25!\) 末尾有多少个连续的 0
\(\begin{align*} v_5(25!)&=\left\lfloor\frac{25}{5}\right\rfloor+\left\lfloor\frac{25}{25}\right\rfloor=5+1=6\\ v_2(25!)&=12+6+3+1=22 \end{align*}\)
取最小值,末尾共有 \(\boldsymbol{6}\) 个 0。
例 6 写出阶乘标准素因数分解
题目:写出 \(6!\) 的素因子分解式
- \(v_2(6!)=\lfloor6/2\rfloor+\lfloor6/4\rfloor+\lfloor6/8\rfloor=3+1=4\)
- \(v_3(6!)=\lfloor6/3\rfloor=2\)
- \(v_5(6!)=\lfloor6/5\rfloor=1\)
\(6! = 2^4 \times 3^2 \times 5^1\)
例 7 高阶竞赛:最大整数 t 满足 \(7^t \mid 100!\)
\(v_7(100!)=\left\lfloor\frac{100}{7}\right\rfloor+\left\lfloor\frac{100}{49}\right\rfloor+\left\lfloor\frac{100}{343}\right\rfloor=14+2=16\)
Leave a Reply
You must be logged in to post a comment.