1. 程式人生 > >二次剩余從csdn

二次剩余從csdn

時間 時間復雜度 poll 隨機 記錄 sqrt str 二次 clas

歐拉準則

\(p\)意義下,\(a\)是二次剩余等價於\(a^{\frac{p-1}{2}}\equiv 1\)\(a\)不是二次剩余等價於\(a^{\frac{p-1}{2}}\equiv -1\)

Cipolla算法

Cipolla\(a^2-n\)不是二次剩余,則\(n\)的二次剩余是\((a+\sqrt {a^2-n})^\frac{p+1}{2}\)。其中計算時記錄\(\sqrt{a^2-n}\)的系數,可證明最後其系數為\(0\)

隨機\(a\)即可。時間復雜度為\(O(\log^2 p)\)

二次剩余從csdn