zoukankan      html  css  js  c++  java
  • 学习:中国剩余定理

    中国剩余定理是数论中的一个关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。也称为孙子定理。

    描述

    中国剩余定理给出了以下的一元线性同余方程组:

    [(S) : quad left{ egin{matrix} x equiv a_1 pmod {m_1} \ x equiv a_2 pmod {m_2} \ vdots qquadqquadqquad \ x equiv a_n pmod {m_n} end{matrix} ight. ]

    有解的判定条件,并用构造法给出了在有解情况下解的具体形式。

    问题的解:

    中国剩余定理说明:假设整数(m_1, m_2,dots, m_n)其中任两数互质,则对任意的整数:(a_1, a_2,cdots, a_n),方程组 ((S))有解,并且通解可以用如下方式构造得到:

    [M=prod_{i=1}^{n}{a_i},M_i=frac{M}{a_i},t_i=M_i^{-1}pmod {m_i} ]

    那么方程组的通解形式为:

    [x=(sum^n_{i=1}{a_i t_i M_i})+kM ]

    在模域下只有一个解:

    [xequiv sum^n_{i=1}{a_i t_i M_i}pmod M ]

    证明

    从假设可知,对任何(iin{1,2,cdots,n }),由于$forall jin{1,2,cdots,n}, j eq i,operatorname{gcd}(m_i, m_j) = 1 $,所以 (operatorname{gcd}(m_i,sum_{j ot=i}{m_j}) = 1),即(operatorname{gcd}(m_i, M_i) = 1.) 这说明必定存在整数(t_{i})使得$ t_i M_i equiv 1 pmod {m_i}. $

    考察乘积$ a_i t_i M_i$可知:

    [a_i t_i M_i equiv a_i cdot 1 equiv a_i pmod {m_i}, ]

    又由于(a_it_iprod_{j ot=i}{m_i})有约数(m_k(k ot=i))
    所以

    [forall j in {1, 2, cdots , n}, ; j eq i, ; ; a_i t_i M_i equiv 0 pmod {m_j}. ]

    所以(x = a_1 t_1 M_1 + a_2 t_2 M_2 + cdots + a_n t_n M_n)满足:

    [forall i in {1, 2, cdots , n}, ; ; x = a_i t_i M_i + sum_{j eq i} a_j t_j M_j equiv a_i + sum_{j eq i} 0 equiv a_i pmod {m_i}. ]

    这说明(x)就是方程组((S))的一个解。

    另外,假设(x_1)(x_2)都是方程组((S))的解,那么:

    [forall i in {1, 2, cdots , n}, ; ; x_1 - x_2 equiv 0 pmod {m_i} . ]

    (m_1, m_2, cdots, m_n)两两互质,这说明(Mmid(x_1-x_2).)所以方程组((S))的任何两个解之间必然相差(M)的整数倍。而另一方面, (x = a_1 t_1 M_1 + a_2 t_2 M_2 + cdots + a_n t_n M_n)是一个解,同时所有形式为:

    [a_1 t_1 M_1 + a_2 t_2 M_2 + cdots + a_n t_n M_n + k M= k M + sum_{i=1}^n a_i t_i M_i, quad k in mathbb{Z} ]

    的整数也是方程组((S))的解。所以方程组((S))所有的解的集合就是:

    [{k M + sum_{i=1}^n a_i t_i M_i,quad k in mathbb{Z} }. ]

    模板

    I'm writing......
    

    参考资料

  • 相关阅读:
    【leetcode】7. 反转整数
    【leetcode】496. 下一个更大元素 I
    【leetcode】389. 找不同
    Linux驱动模型解析bus之platform bus
    shell 和进程
    递归调用在循环体内: 把循环展开, 这种情况是先循环再递归
    javascript函数柯里化以及柯里化带来的好处
    Maven测试篇
    关于ECharts Java类库的一个jquery插件
    javascript原型链继承
  • 原文地址:https://www.cnblogs.com/pfypfy/p/8857662.html
Copyright © 2011-2022 走看看