Loading

二次剩余

不会证明

定义

对于 \((a,n)=1\),如果存在 \(x\in \mathbb{Z}\),使得 \(x^2\equiv a\pmod n\),则称 \(a\)\(n\) 的二次剩余,否则称 \(a\) 为模 \(n\) 的二次非剩余。

说人话就是:如果 \(a\) 在模意义下能被开平方根,那么说 \(a\) 是模 \(n\) 的二次剩余。

下文只考虑模数为奇质数的情况,记作 \(p\)\(a\) 是模 \(p\) 的二次剩余简记为 \(a\) 是二次剩余。

如果 \(a\) 是二次剩余,那么其有两个根,互为相反数。

欧拉判别

对于 \((a,p)=1\)

由费马小定理可以推知:\(a^{\frac{p-1}{2}}\equiv \pm 1\pmod p\)

  • \(a^{\frac{p-1}{2}}\equiv 1\pmod p\) 等价于 \(a\) 是二次剩余。

  • \(a^{\frac{p-1}{2}}\equiv -1\pmod p\) 等价于 \(a\) 是二次非剩余。

Cipolla

\(x^2\equiv n\pmod p\)

随机一个 \(a\),使得 \(a^2-n\) 是二次非剩余。

引入类似于虚数单位的一个对象 \(i\),满足 \(i^2\equiv a^2-n\pmod p\),则有结论 \((a+i)^{\frac{p+1}{2}}\) 为该方程的两个根,这两根互为相反数,且虚部均可以证明为 \(0\)

写一个复数类模拟一下即可。

posted @ 2025-04-24 17:03  Terminator-Line  阅读(35)  评论(0)    收藏  举报