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

    学数论中我们听说过中国剩余定理,也称孙子定理
    那么它到底是什么呢?自搜百度百科

    好了开始讲~

    首先の铺垫

    (a)%(b=c)

    ((a imes k))%(b=(c imes k))%(b)

    (感性理解即可证明,后面要用)

    引入一个例子(也是此定理的来源)

    求一个数最小的正整数x满足:
    (egin{cases}{xequiv2mod3}&\{xequiv3mod5}&\ {xequiv2mod7}&end{cases})

    这道题当时给出了一种做法:

    先找出(x_1,x_2,x_3)满足
    (egin{cases}{x_1equiv 2mod3}\{(5 imes7)|x_1}end{cases})

    (egin{cases}{x_2equiv 3mod5}\{(3 imes7)|x_2}end{cases})

    (egin{cases}{x_3equiv 2mod7}\{(3 imes5)|x_3}end{cases})

    (x_1=35) (x_2=63) (x_3=30)

    答案就是((x_1+x_2+x_3)mod gcd(3,5,7)=128mod 105=23)

    推广一下

    概述来看这个中国剩余定理就是:

    要求正整数x满足:
    (egin{cases}{xequiv c_1mod m_1}\{xequiv c_2mod m_2}\{quadvdots}\{xequiv c_nmod m_n}end{cases})

    做法为:设(sum=m_1 imes m_2 imes cdots imes m_n)
    那么找出(x_1,x_2,…,x_n)满足:
    (egin{cases}{x_1equiv 1mod m_1}\{(sum/m_1)|x_1}end{cases})

    (egin{cases}{x_2equiv 1mod m_2}\{(sum/m_2)|x_2}end{cases})

    (egin{cases}{x_3equiv 1mod m_3}\{(sum/m_3)|x_3}end{cases})

    (x_i)应包含(sum/m_i),才可以满足第二个条件
    要满足((sum/m_i))乘一个数(mod) (m_i)(1)
    则那个数就是((sum/m_i))的模(m_i)的逆元,表示为((sum/m_i)^{-1})
    再结合下前置芝士可得最后的(x)的表达:

    (displaystylesum^{n}_{i=1}c_i imes(sum/m_i) imes(sum/m_i)^{-1 (注意是mod m_i的逆元)})

    结语

    好了就是这些
    逆元的话就作为自学知识吧,之后会附上关于逆元的介绍
    百度百科上说的比较奇妙,较为难懂
    希望上述说的知识大家可以理解!!

    Reality&Imagine
  • 相关阅读:
    禁止 FireFox 提示安装 Flash 插件
    MongoDb不能同步,可能是服务器时间不一致
    simpletest的一点经验:0个测试、1个Case的情况
    VIM学习笔记:列编辑
    使用 nginx 做http代理
    VirtualBox非常简单的克隆虚拟机的功能
    PDOStatement的HY093错误原因及解决办法
    火狐英文原版的下载地址
    修改 PHP 的 memory_limit 内存限定
    TEA 加密解法,统一了C语言、Java与PHP的运算结果
  • 原文地址:https://www.cnblogs.com/yang-RA-NOI/p/13441019.html
Copyright © 2011-2022 走看看