模板 二次剩餘

2022-05-11 05:23:58 字數 695 閱讀 5661

求解方程 $ x^2 = a \space mod \space p $ ,其中p是質數,無解返回-1,有解則返回兩個解之中較小的那乙個。事實上假如p是奇質數的話,兩個解相等僅當x=0的時候,完全可以特判掉。

#includeusing namespace std;

typedef long long ll;

ll p, w;

struct complex ;

complex(ll x, ll y): x(x), y(y) {}

complex operator*(const complex&c)

};complex qpow(complex x, ll n)

return res;

}ll qpow(ll x, ll n, ll m)

return res;

}//求解 x^2 = a mod p 的x的兩個p範圍內的解中的其中乙個解,其中p是質數(2被特判掉了),無解返回-1

ll solve(ll a, ll p)

complex res(b, 1);

res = qpow(res, (p + 1) / 2);

ll x = res.x, y = (p - x) % p;

return x <= y ? x : y;

}int main()

}

模板 二次剩餘

又被二次剩餘調教了。以下,p是奇質數。如果存在乙個x,使得 x 2 n mod p 則n是p的乙個二次剩餘。勒讓德符號 frac 當n是p的二次剩餘,frac 1 當n不是p的二次剩餘,frac 1 當p n,frac 0 結論 frac n 定理 定理 對於方程 x 2 n mod p 有 fra...

二次剩餘小結

對於模數 n 和整數 a 若存在整數 x 滿足 x 2 equiv a mod n 則稱 x 是模 n 意義下的二次剩餘,否則是非二次剩餘 注 這裡討論的 x 滿足 x in 1,n 尤拉判別法 對於奇素數 p a 是模 p 意義下的二次剩餘當且僅當 a equiv 1 mod p 類似的,若 a ...

二次剩餘小記

看 text 的部落格看到的,發現似乎並沒有想象中的那麼難,就學了一下,過了板題,這裡記錄一下,暫時還是只會二次剩餘,n 次剩餘暫時先放一下。下文的 p 即是模數。我們稱 n 為模 p 意義下的二次剩餘當且僅當存在 x 使得 x 2 equiv n pmod p,x in mathbb 下文的 ma...