1. 程式人生 > >擴展中國剩余定理(擴展CRT)詳解

擴展中國剩余定理(擴展CRT)詳解

bsp forall 成了 font 假設 最小 一個 gin 去掉

今天在$xsy$上翻題翻到了一道擴展$CRT$的題,就順便重溫了下

中國剩余定理是用於求一個最小的$x$,滿足$x\equiv c_i \pmod(m_i)$。

正常的$CRT$有一個微小的要求,就是$\forall i,j (m_i,m_j)=1$。

在某些情況下,這個式子無法被滿足,這個時候就要用擴展$CRT$來求解了。

我們先假設我們只有兩條方程要被求解,它們分別是:

$\begin{cases} x\equiv c_1 \pmod{m_1}\\x\equiv c_2 \pmod{m_2}\end{cases}$

我們考慮將同余去掉,就變成了:

$\begin{cases} x= c_1+m_1k_1\\x= c_2+m_2k_2\end{cases}$

聯立一波,得:

$c_1+m_1k_1=c_2+m_2k_2$

$m_1k_1=(c_2-c_1)+m_2k_2$

若該方程存在解,則有$(m1,m2)|(c_2-c_1)$,否則無解

下面令$d=(m1,m2)$。

我們對等式兩邊全部除以$d$,得:

擴展中國剩余定理(擴展CRT)詳解