Skip to main content

二次剩余

参考资料

简介

若存在 xx 使 x2n(modp)x^2\equiv n\pmod p,则称 nn 是模 pp二次剩余。由 欧拉判别法,对奇质数 ppnn 是二次剩余当且仅当 n(p1)/21(modp)n^{(p-1)/2}\equiv 1\pmod p

Cipolla 算法 用于求出一个解:先随机找 aa 使 a2na^2-n 是非二次剩余,在扩域 Fp(a2n)\mathbb F_p(\sqrt{a^2-n}) 中计算 (a+a2n)(p+1)/2(a+\sqrt{a^2-n})^{(p+1)/2} 即为一个解,时间复杂度 O(logp)O(\log p)

例题

TT 组询问,每组给定整数 nn 与奇质数 pp,求同余方程 x2n(modp)x^2\equiv n\pmod p 的所有解。