算法原理请wiki:Tonelli–Shanks algorithm,迅速深入理解是不太可能的,与cipola算法相比,shanks解法更数论一点。
(这个算法是正常的,但是还是tle)
大概流程是:
R2≡nmodp R 2 ≡ n mod p
令
p−1=Q2s p − 1 = Q 2 s
其中Q是奇数。若s=1,即
p≡3mod4 p ≡ 3 mod 4
由欧拉判定直接解出
R≡n
算法原理请wiki:Tonelli–Shanks algorithm,迅速深入理解是不太可能的,与cipola算法相比,shanks解法更数论一点。
(这个算法是正常的,但是还是tle)
大概流程是: