标签:根据 整数 方程组 就是 rod 同余 乘法 mod 等于
蓝书
同余方程组:形如$x_i \equiv a_i(mod\,m_i)$的n个方程(各个$m_i$两两互质;好像$m_i=1$时以下一些会不成立?然而不要紧)
令$M=\prod_{i=1}^n m_i$
令$w_i=M/m_i$
根据各个$m_i$两两互质,可得$w_i$与$m_i$互质
找出$p_i$等于$w_i$关于$m_i$的乘法逆元;则$p_i*w_i \equiv 1(mod\,m_i)$
令$x_0=\sum_{i=1}^n a_i*p_i*w_i$
显然,对于第i个方程,$x_0 \equiv a_i*p_i*w_i \equiv a_i(mod\,m_i)$(因为对于$j!=i$,$w_j \equiv 0(mod\,m_i)$)
得到了一组可行解;则任意解即为$x_0+k*M$,k为任意整数
扩展
各数不互质?
换一种方法:两两合并
现在已知形如$x_i \equiv a_i(mod\,m_i)$的2个方程,$m_i$不需要互质
设$x=k_1*m_1+b_1$,$x=(-k_2)*m_2+b_2$
那么$k_1*m_1+k_2*m_2=b_2-b_1$
可以用exgcd解出$k_1$和$k_2$;当然解出来的是模意义下的解而不是数
因此$x \equiv k_1*m_1+b_1(mod\,lcm(m_1,m_2))$
弃用
用exgcd找出每个$p_i$,使得$p_i*w_i+q_i*m_i=1$(实际上就是$p_i$是$w_i$关于$m_i$的乘法逆元)
那么两边模$m_i$,得到$p_i*w_i \equiv 1(mod\,m_i)$(因为$p_i$,$w_i$都显然不为$m_i$的倍数)
标签:根据 整数 方程组 就是 rod 同余 乘法 mod 等于
原文地址:https://www.cnblogs.com/hehe54321/p/9275611.html