欧拉准则

对于质数pppx2a(modp)ap121(modp)x^2\\equiv a\\pmod p\\Leftrightarrow a^{\\frac{p-1}{2}}\\equiv 1\\pmod px2a(modp)a2p11(modp)

证明:

充分性:
ap12=(x2)p12=xp11(modp)a^{\\frac{p-1}{2}}=(x^2)^{\\frac{p-1}{2}}=x^{p-1}\\equiv 1\\pmod pa2p1=(x2)2p1=xp11(modp)

必要性:
ggg为模ppp意义下的原根,gia(modp)g^i\\equiv a\\pmod pgia(modp),则
gi(p1)21(modp)g^{\\frac{i(p-1)}{2}}\\equiv 1\\pmod pg2i(p1)1(modp)
ggg为原根,则(p1)i(p1)2(p-1)|\\frac{i(p-1)}{2}(p1)2i(p1)iii为偶数,xgi2(modp)x\\equiv g^{\\frac i2}\\pmod pxg2i(modp)


Cipolla算法

一种求解模奇质数意义下的二次同余方程的算法。

ppp为奇质数,给定aaa,求xxx满足:x2a(modp)x^2\\equiv a\\pmod px2a(modp)

复杂度O(logp)O(\\log p)O(logp)

具体算法:

可能需要死记硬背一下。。。

随机找到任意一个bbb,满足b2awb^2-a\\equiv wb2awwww是模ppp意义下的非二次剩余(wp121(modp)w^{\\frac{p-1}{2} }\\equiv -1\\pmod pw2p11(modp))。

类似于虚数,设i=wi= \\sqrt wi=w,扩域后每个数表达为(a,b)=a+bi(a,b)=a+bi(a,b)=a+bi,运算为:
(r1,d1)+(r2,d2)=(r1+r2,d1+d2)(r_1,d_1)+(r_2,d_2)=(r_1+r_2,d_1+d_2)(r1,d1)+(r2,d2)=(r1+r2,d1+d2)
(r1,d1)(r2,d2)=(r1r2+d1d2w,r1d2+r2d1)(r_1,d_1)·(r_2,d_2)=(r_1 r_2+d_1d_2w,r_1d_2+r_2d_1)(r1,d1)(r2,d2)=(r1r2+d1d2w,r1d2+r2d1)

&lt;G,+,&gt;&lt;G,+,·&gt;<G,+,>是个环,满足交换律和结合律。

答案即为:x=(b+i)p+12x=(b+i)^{\\frac {p+1}{2}}x=(b+i)2p+1

证明:
x2\\quad x^2x2
=(b+i)p(b+i)=(b+i)^p(b+i)=(b+i)p(b+i)
=(bp+ip)(b+i)=(b^p+i^p)(b+i)=(bp+ip)(b+

收藏 打印