中国剩余定理
如果已知n
的素因子,那么就能够利用中国剩余定理求解方程组。用现代数学的语言来说明就是,中国剩余定理给出了以下的一元线性同余方程组有解的判定条件:

一般而言,如果n
的素因子可以分解为:
\[
n=p_1 * p_2 * ... * p_t
\]
那么方程组:
\[
(x \quad mod \quad p_i)=a_i \quad (i=1,2,...t)
\]
有唯一解,这里x<n
,就是说一个数被他的余数模这些素数唯一确定
例如,去两个素数2和5,与一个数字9,那么9 mod 2=1
,9 mod 5=4
,则小于2*5=10且满足上式的只有9
所以能够得到如果对已任意的a<p,b<q
(p,q都是素数),那么,当x<p*q
的时候,存在一个唯一的x
使得:
\[
x \equiv a(mod \quad p)\quad 且\quad x\equiv b(mod \quad q)
\]
如何计算x
?
首先通过欧几里得算法找到u
,使得:
\[
u * q \equiv 1(mod \quad p)
\]
然后计算:
\[
x=(((a-b) * u) mod \quad p)*q+b
\]
推论:
如果p
和q
都是素数,且 p<q
,那么存在一个唯一的x<p*q
,使得
\[
a \equiv x(mod \quad p)且b \equiv x(mod \quad q)
\]
如果\(a \ge b\quad mod \quad p\),那么:
\[
x = (((a-(b \quad mod \quad p)) * u)mod \quad p) * q + b
\]
如果\(a < b\quad mod \quad p\),那么:
\[
x = (((a+p-(b \quad mod \quad p)) * u)mod \quad p) * q + b
\]
二次剩余
如果p
是素数,且a<p
,如果
\[
x^2 \equiv a(mod \quad p) \quad 对某些x成立
\]
那
来源:https://www.cnblogs.com/CH42e/p/11966739.html