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

    2016.1.26

    由于比较懒,于是先copy百度一发

    -------------------我是分割线--------------------

    用现代数学的语言来说明的话,中国剩余定理给出了以下的一元线性同余方程组:

    (S):     x≡a1  (mod m1)

               x≡a2  (mod m2)

                       .

                       .

                       .

               x≡an  (mod mn)

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

    中国剩余定理说明:假设整数m1,m2, ... ,mn两两互质,则对任意的整数:a1,a2, ... ,an,方程组(S)有解,并且通解可以用如下方式构造得到:

    设M=m1 * m2 * … * mn 是整数m1,m2, ... ,mn的乘积,

    并设Mi = M/mi

    是除了mi以外的n- 1个整数的乘积。

    设ti = Mi-1为Mi模mi的数论倒数ti Mi≡ 1(mod mi)

    方程组(S)的通解形式为

    X = a1t1M1 + a2t2M2 + … + antnMn + kM     (k∈Z)

    在模M的意义下,方程组(S)只有一个解:X = a1t1M1 + a2t2M2 + … + antnMn

    -------------------我是分割线--------------------
     
    设来设去一大堆容易把人搞晕了,但是如果先看最后的式子就好理解了。
    X = a1t1M1 + a2t2M2 + … + antnMn + kM     (k∈Z)
    显然除了aitiMi这一项外,其余项模mi都得0,又因为tiMi的逆元,所以tiMi1(mod mi),所以x ≡ aitiMi ≡ ai (mod mi)
    于是解就都符合我们求的一元同余线性方程组啦~
     
     
     
  • 相关阅读:
    Linux查看进程运行的完整路径方法
    http chunked编码格式
    剑指offer 26. 树的子结构
    101. 对称二叉树
    http长链接处理不当引发的问题
    linux gstack pstack 进程运行堆栈查看工具 strip
    96. 不同的二叉搜索树
    LeetCode350. 两个数组的交集 II
    C++ Vector转Set与Set转Vector
    Go语言学习笔记十五--Go语言map的基本操作
  • 原文地址:https://www.cnblogs.com/16er/p/5159549.html
Copyright © 2011-2022 走看看