也算是了结了多年来的执念。
前置是费马小定理和二项式定理,简单证明一下费马小定理吧。
费马小定理
定义
若 \(p\) 为素数,\(a\) 不为 \(p\) 的倍数(即 \((a,p)=1\)),则 \(a^{p-1}\equiv 1 \ (\bmod p\ )\)。
证明
在最开始,需要了解一些同余的基本性质,比如同除的性质:
若 \(ac\equiv bc\ (\bmod p\ )\),且 \((c,p)=1\),则有 \(a\equiv b\ (\bmod p\ )\)。
Proof. 若 \(a=b\) 或 \(c=1\),该性质显然成立,接下来仅需讨论 \(a\not= b\wedge c\not= 1\) 的情况,不妨假设 \(a>b\)。
由原式可得 \(ac-bc=kp,k\in N\),也即 \(a-b=\frac{kp}{c}\),故 \(c\ |\ kp\),当 \((c,p)=1\) 时一定有 \(c\ |\ k\)。
于是 \(a-b=\frac{k}{c}\cdot p\wedge\frac{k}{c}\in N\),\(a\equiv b\ (\bmod p\ )\) 得证。
现在可以开始证明费马小定理了。
取一素数 \(p\),以及满足 \((a,p)=1\) 的整数 \(a\)。
首先有观察:
Proof. 只需要证明 \(\forall i\in\{1,2,\cdots,p-1\}\),有 \(i\times a\ (\bmod p\ )\) 两两不同。
反证,若存在 \(x,y\in\{1,2,\cdots,p-1\}\wedge x\not= y\),满足 \(xa\equiv ya\ (\bmod p\ )\),运用上述同余性质,不难得到 \(x\equiv y\ (\bmod p\ )\),与假设条件不符,于是等式成立。
记 \(f=(p-1)!\),可将上述等式写作 \(f\equiv f\cdot a^{p-1}\ (\bmod p\ )\)。
容易发现 \((f,p)=1\),于是再次运用同余性质可得到 \(a^{p-1}\equiv 1 \ (\bmod p\ )\),至此我们证明了费马小定理。
Lucas 定理
定义
对于素数 \(p\),有:
容易发现 \({\lfloor n/p \rfloor\choose \lfloor m/p \rfloor}\) 可以继续递归求解,于是该式的显式表达为,将 \(n\) 与 \(m\) 分别分解为 \(p\) 进制数字 \((n_k,\cdots,n_1)_p\)、\((m_k ,\cdots,m_1)_p\)(若位数不相等,则忽略 \(n\) 多出来的高位),有:
证明
考虑 \({p\choose n}\bmod p\) 的取值,注意到 \({p\choose n}=\frac{p!}{n!(p-n)!}\),在 \(n= p\vee n= 0\) 时,\({p\choose n}=1\),其余情况 \(p\ |\ {p\choose n}\),所以 \({p\choose n}\bmod p=[n= p\vee n= 0]\),于是有:
推导过程中没有用到费马小定理,于是也适用于多项式。
容易发现 \(n\choose m\) 实际上就是 \((1+x)^n\) 展开式的 \([x^m]\)。
记 \(\lfloor n/p \rfloor=k\),则 \((1+x^p) ^k=\sum\limits_{i=0}^{k}{k\choose i}x^{pi}\),记 \(n\bmod p=r\),则 \((1+x)^r=\sum\limits_{i=0}^{r}{r\choose i}x^{i}\),\(r<p\)。
前式