Wilson 定理
Wilson 定理
对于素数 \(p\),\((p-1)!\equiv-1(\bmod p)\)。
我们简单证明一下。
因为 \(p\) 是素数,所以 \(1\sim p-1\) 都有逆元。互为逆元的东西乘积是 \(1\),我们只需要考虑那些 \(a\equiv a^{-1}(\bmod p)\) 的数,也就是说 \(a^2\equiv1(\bmod p)\),也就是 \((a-1)(a+1)\equiv 0(\bmod p)\),所以 \(a=\pm 1\) 需要特殊考虑,而它们的乘积是 \(-1\),所以 \((p-1)!\equiv-1(b\mod p)\)。
事实上,
下面的内容大概就是照着 OI-wiki 过一遍。
阶乘余数
定义 \((n!)_p\) 表示去除 \(1\sim n\) 当中所有的 \(p\) 因子之后得到的乘积,求 \((n!)_p\bmod p\)。
你考虑把这个东西写出来长成什么样子。
也就是说,每一个循环节本身都是 \((p-1)!\),这部分是 \((-1)^{\lfloor\frac np\rfloor}\),但是除此以外还剩下 \((\lfloor\frac{n}{p}\rfloor!)_p(n\bmod p)!\)。
所以,如果我们预处理出 \(x!\bmod p,x=1,2\dots,p-1\),那么我们就可以 \(O(\log_pn)\) 地回答询问。
复杂度 \(O(p)-O(\log_pn)\)。
含有 \(p\) 的个数
\(v_p(n!)\) 表示 \(n!\) 当中分解出的 \(p\) 的个数。
这个写出来的形式很有把 \(n\) 写成 \(p\) 进制的感觉。
如果我们设 \(n=(a_k\dots a_0)_p\),那么
这式子很好看。
一个自然的推论是
分子的意义是,计算 \(m+(n-m)\) 时出现的进位次数,也可以认为是 \(n-m\) 借位的次数。
exWilson
我们考虑跟 Wilson 定理类似的方式,考察 \(x^2\equiv1(\bmod p^a)\) 的解。
你发现,当 \(p=2,a=1\) 时仅有一根 \(1\)。
当 \(p=2,a\ge 3\) 时有四根 \(\pm1,2^{a-1}\pm1\)。
其他情况,有两根 \(\pm1\)。
先到这里吧。

浙公网安备 33010602011771号