Lucas 定理的证明

已知:

三个整数 \(n,m,p\),其中 \(p\) 为质数。

求证:

\[\binom{m}{n} \equiv\binom{m \bmod p}{n\bmod p}\times \binom{\lfloor \frac{m}{p} \rfloor}{\lfloor \frac{n}{p} \rfloor}\ \ \ ( \operatorname{mod}p) \]

证明:

我们使用多项式系数比较的方式证明。
首先引入二项式定理:

\[(a+b)^p=\sum_{i=0}^p\binom{p}{i}a^{p-i}b^i \]

把它放在一个同余式中:

\[(a+b)^p \equiv\sum_{i=0}^p\binom{p}{i}a^{p-i}b^i\ \ \ (\operatorname{mod}p) \]

由定理 2.6,显然我们可以化简这个同余式。
考虑到 \(\sum_{i=0}^p\binom{p}{i}a^{p-i}b^i\) 中首项和末项的系数都是 \(1\),较为特殊。我们把它们拿出来,原式就变成这样:

\[(a+b)^p \equiv a^p+b^p+\sum_{i=1}^{p-1}\binom{p}{i}a^{p-i}b^i\ \ \ (\operatorname{mod}p) \]

由定理 2.6,\(\sum_{i=1}^{p-1}\binom{p}{i}a^{p-i}b^i\) 中的每一项显然都可以被 \(p\) 整除。
于是原式变成这样:

\[(a+b)^p \equiv a^p+b^p\ \ \ (\operatorname{mod}p) \]

那么对于 \(p^2\),这个式子成不成立呢?我们推导一下:

\[(a+b)^{p^2} \equiv (a^p+b^p)^p\ \ \ (\operatorname{mod}p) \]

\[(a+b)^{p^2} \equiv (a^{p^2}+b^{p^2})\ \ \ (\operatorname{mod}p) \]

于是,通过数学归纳法,我们可以证明,对于任意的 \(i\in\mathbb{Z}^+\),都有:

\[(a+b)^{p^i} \equiv (a^{p^i}+b^{p^i})\ \ \ (\operatorname{mod}p) \]

我自己把这个式子称为二项式定理在同余下的的推广
接下来进入真正的证明,偷懒就不写同余式了
考虑一个整数 \(m\),把它分解为 \(p\) 进制,则 \(m\) 可以写成:

\[m=\sum_{i=0}^{s}m_0p^i \]

考虑式子 \((1+x)^m\),将 \(m\)\(p\) 进制分解代入得:

\[(1+x)^m=(1+x)^{\sum_{i=0}^{s}m_ip^i} \]

由同底数幂的乘除知识可得:(同底数幂相乘,底数不变,指数相加,这里反过来)

\[\begin{aligned} (1+x)^{\sum_{i=0}^{s}m_ip^i}=\prod_{i=0}^{s}(1+x)^{m_ip^i} \end{aligned}\]

再由幂的乘方知识可得:

\[\begin{aligned} \prod_{i=0}^{s}(1+x)^{m_ip^i}=\prod_{i=0}^{s}\left((1+x)^{p^i}\right)^{m_i} \end{aligned}\]

\((1+x)^{p^i}\) 用上文证明过的二项式定理在同余下的的推广变换得:

\[\begin{aligned} \prod_{i=0}^{s}\left((1+x)^{p^i}\right)^{m_i}&=\prod_{i=0}^{s}\left(1^{p^i}+x^{p^i}\right)^{m_i}\\ \end{aligned}\]

再次对 \(\left(1^{p^i}+x^{p^i}\right)^{m_i}\) 应用二项式定理:

\[\begin{aligned} \prod_{i=0}^{s}\left(1^{p^i}+x^{p^i}\right)^{m_i}&=\prod_{i=0}^{s}\sum_{j=0}^{m_i}\dbinom{m_i}{j}x^{p^ij}1^{p^i(m_i-j)}\\ &=\prod_{i=0}^{s}\sum_{j=0}^{m_i}\dbinom{m_i}{j}x^{p^ij} \end{aligned}\]

反过头来考虑 \((1+x)^m\) 的二项式展开:

\[\begin{aligned} (1+x)^m&=\sum_{i=0}^{m}\dbinom{m}{i}x^i1^{m-i}\\ &=\sum_{i=0}^{m}\dbinom{m}{i}x^i \end{aligned}\]

由于两式子并未发生任何变化,只是展开方式不同,因此两式子中每一项对应的幂应该是一样的
考虑 \(x^n\) 这一项,我们也把 \(n\) 写成 \(p\) 进制的形式:

\[n=\sum_{i=0}^{k}n_ip^i \]

观察 \(\prod_{i=0}^{s}\sum_{j=0}^{m_i}\dbinom{m_i}{j}x^{p^ij}\) 的结构,我们发现它是一个累乘套着一个累加的形式,即形如:

\[(a_1+a_2+\cdots+a_{m_0})(b_1+b_2+\cdots+b_{m_1})\cdots \]

那么,对于 \(x^n\) 这一项,其在这个式子中一定是由 \(s+1\)(因为 \(i\) 的值从 \(0\) 开始)个 \(x^{p^ij_i}\) 相乘凑出来的,我们把 \(x\) 省略,由同底数幂的乘除知识可得:
(同底数幂相乘,底数不变,指数相加。)

\[n={\sum_{i=0}^{s}p^ij} \]

也就是说:

\[\sum_{i=0}^{k}n_ip^i={\sum_{i=1}^{s}p^ij_i} \]

由于 \(n\)\(p\) 进制下仅可能有一种表示方法,所以在等号的左右两边 \(k=s\)\(n_i=j_i\)
仔细理解这个过程!
那么,我们把每一个 \(j_i\) 对应的 \(n_i\) 代入回去可得:

\[x^n=\prod_{i=0}^{s}x^{p^in_i} \]

同时,由于 ”\(x^{p^ij_i}\) 相乘凑出来“ 的过程中也将系数相乘了,我们将原式的系数加入进式子中:

\[\dbinom{m}{n}x^n=\prod_{i=0}^{s}\dbinom{m_i}{n_i}x^{p^in_i} \]

用乘法结合律把求积符号分开:

\[\dbinom{m}{n}x^n=\prod_{i=0}^{s}\dbinom{m_i}{n_i}\prod_{i=0}^{s}x^{p^in_i} \]

由于 \(x^n=\prod_{i=0}^{s}x^{p^in_i}\),因此:

\[\dbinom{m}{n}=\prod_{i=0}^{s}\dbinom{m_i}{n_i} \]

证完了?证完了!
它和我们的求证有啥关系?
回想我们学习进制转换的过程,十进制转二进制用的是 “除 \(2\) 取余法”。
那么在这里,\(n,m\) 首先对 \(p\) 取余,在除以 \(p\) 继续递归计算的过程,不正是求解 \(n,m\)\(p\) 进制的过程吗?
而我们求证的式子正好是使用了 \(n,m\)\(p\) 进制求解的组合数,因此可以证明原式。
返回博客


迁移自洛谷

posted @ 2025-02-04 13:20  hm2ns  阅读(11)  评论(0)    收藏  举报