威尔逊定理小讲解

考虑做者太懒了,博客里面的同余符号都用等号代替 qwqapp

威尔逊定理

威尔逊定理大概是这么个东西:优化

\[(p-1)!=-1(mod ~~ p)\]spa

其中 p 固然是质数辣~博客

Proof

而后咱们考虑证实?io

首先:class

\[p-1=-1(mod ~~ p)\]di

那么咱们只须要证实 \((p-2)!=1 (mod~~ p)\) 就行了...display

也就是说,除去 1 后,若是 \(2,3,...,p-2\) 可以两两配对,且每对数乘积 模 p 后为 1 的话,威尔逊定理就成立了,而后咱们考虑这其实就是对于 \(2,3,...,p-2\) 去找 模 p 意义下的逆元啊...math

而后考虑一下二次剩余里面的衍生芝士咱们能够知道对于 \(x^2=1\) 只有两个解(1,p-1),而这两个数已经被咱们安排掉了,也就是说 \(2,3,...,p-2\)不存在某个数的逆元是本身自己...play

而后咱们还知道逆元有惟一性互反性,因而乎这些数天然是一一对应的辣~

证毕!

Application

这个...显然能够用在阶乘求解上?

可是用途不广...可能能够用来优化快速阶乘? XD

咱们考虑这个式子已经成立了:

\[(p-1)!=-1(mod ~~ p)\]

那么咱们如今要求的是:

\[n!~(mod ~~ p)\]

而后咱们考虑威尔逊定理能怎么用进去...

(如今咱们不考虑 \(n=p-1\)\(p-2\) 的极端状况,\(n=p-1\) 时答案为 \(p-1\)\(n=p-2\) 时 答案为 \(1\) ,可特判)

首先:

\[n! ·\Big( (n+1)(n+2)...(p-1)\Big) =-1(mod~~ p)\]

咱们令 \(p-n =x\)

\[n! ·\Big( (p-x+1)(p-x+2)...(p-1)\Big) =p-1(mod~~ p)\]

那么:

\[\begin{aligned}( n!)'=&(p-x+1)(p-x+2)...(p-2)\\=&(-1)^{x-2}(x-1)(x-2)...(2)\\=&(-1)^x (x-1)!\\=& (-1)^{p-n}(p-1-n)! \\=& (-1)^{n+1}(p-1-n)! \end{aligned}\]

上面 \(p-x+1\) 变到 \(x-1\) 其实就是把负号提出来了...

而后咱们发现只要求出 \((p-1-n)!\) 而后乘上 \((-1)^n\)

这样的优化...可能没什么用?可是也是优化就是了...

相关文章
相关标签/搜索