数学数论二次剩余On this page二次剩余参考资料 二次剩余 - OI Wiki 简介 若存在 xxx 使 x2≡n(modp)x^2\equiv n\pmod px2≡n(modp),则称 nnn 是模 ppp 的 二次剩余。由 欧拉判别法,对奇质数 ppp,nnn 是二次剩余当且仅当 n(p−1)/2≡1(modp)n^{(p-1)/2}\equiv 1\pmod pn(p−1)/2≡1(modp)。 Cipolla 算法 用于求出一个解:先随机找 aaa 使 a2−na^2-na2−n 是非二次剩余,在扩域 Fp(a2−n)\mathbb F_p(\sqrt{a^2-n})Fp(a2−n) 中计算 (a+a2−n)(p+1)/2(a+\sqrt{a^2-n})^{(p+1)/2}(a+a2−n)(p+1)/2 即为一个解,时间复杂度 O(logp)O(\log p)O(logp)。 例题 Problemcode洛谷 P5491 【模板】二次剩余TTT 组询问,每组给定整数 nnn 与奇质数 ppp,求同余方程 x2≡n(modp)x^2\equiv n\pmod px2≡n(modp) 的所有解。