• 【南外夏令营】线性同余方程


    Part 1:前置知识

    Part 2:求解线性同余方程

    1、定义
    • 给定整数 a , b , m a,b,m a,b,m,求一个整数 x x x 满足 a ∗ x ≡ b ( m o d m ) a*x \equiv b \pmod m axb(modm),或者给出无解。

    • 因为未知数的指数为 1 1 1,所以我们称之为一次同余方程,也称线性同余方程

    2、求解
    • a ∗ x ≡ b ( m o d m ) a*x\equiv b\pmod m axb(modm) 等价于 a ∗ x − b a*x-b axb m m m 的倍数,不妨设为 − y -y y 倍。于是,该方程可以改写为 a ∗ x + m ∗ y = b a*x+m*y=b ax+my=b

    • 根据 B e z o u t Bezout Bezout 定理,该方程有解当且仅当 gcd ⁡ ( a , m ) ∣ b \gcd(a,m)\mid b gcd(a,m)b

    • 在有解时,我们就可以使用扩展欧几里得算法求出方程的一组特解:
      x = x 0 ∗ b / gcd ⁡ ( a , m ) x=x_0*b/\gcd(a,m) x=x0b/gcd(a,m)
      其中 x 0 x_0 x0 为方程 a ∗ x 0 + b ∗ y 0 = gcd ⁡ ( a , m ) a*x_0+b*y_0=\gcd(a,m) ax0+by0=gcd(a,m) 的一个解

    • 方程的通解则是所有模 m / gcd ⁡ ( a , m ) m/\gcd(a,m) m/gcd(a,m) x x x 同余的整数,即
      x ′ = x + k m gcd ⁡ ( a , m ) ( k ∈ Z ) x'=x+k\dfrac{m}{\gcd(a,m)}\quad(k \in \mathbb{Z}) x=x+kgcd(a,m)m(kZ)

    Part 3:中国剩余定理

    1、简述
    • m 1 , m 2 ,   . . .   , m n m_1,m_2,~...~,m_n m1,m2, ... ,mn 是两两互质的整数, m = ∏ i = 1 n m i m=\prod_{i=1}^n{m_i} m=i=1nmi M i = m / m i M_i=m/m_i Mi=m/mi t i t_i ti 是线性同余方程 M i t i ≡ 1 ( m o d m i ) M_it_i\equiv 1 \pmod {m_i} Miti1(modmi) 的一个解。对于任意的 n n n 个整数 a 1 , a 2 ,   . . .   , a n a_1,a_2,~...~,a_n a1,a2, ... ,an方程组
      { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) … x ≡ a n ( m o d m n ) xa1(modm1)xa2(modm2)xan(modmn)
      有整数解,解为 x = ∑ i = 1 n a i M i t i x=\sum_{i=1}^n{a_iM_it_i} x=i=1naiMiti

    • 由这组特解可推出方程组的通解为 x + k m    ( k ∈ Z ) x+km\; (k \in \mathbb{Z}) x+km(kZ)

    • 方程组的最小非负整数解为 ( x   m o d   m + m )   m o d   m (x \bmod m+m)\bmod m (xmodm+m)modm

    2、证明
    • 因为 M i = m / m i M_i=m/m_i Mi=m/mi 是除了 m i m_i mi 之外所有模数的倍数,所以 ∀ k ≠ i ,    a i M i t i ≡ 0 ( m o d m k ) \forall k \ne i,\;a_iM_it_i \equiv 0 \pmod {m_k} k=i,aiMiti0(modmk)

    • 又因为 a i M i t i ≡ a i ( m o d m i ) a_iM_it_i \equiv a_i \pmod {m_i} aiMitiai(modmi),所以代入 x = ∑ i = 1 n a i M i t i x=\sum_{i=1}^n{a_iM_it_i} x=i=1naiMiti,原方程组成立。

  • 相关阅读:
    语音识别工具kaldi简介
    优化Vue项目架构和模块化:提升应用性能与开发效率
    netcore项目中的GC模式
    鸿蒙API9手机号验证
    Vue2 07 自定义事件内容分发和入门小结
    Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第12章 Vue3.X新特性解析 12.7 watch监听的使用
    这么卷,现在测试工程师要求会写工具了?
    VisionTransformer(ViT)详细架构图
    技能大赛训练题: 子网掩码划分案例
    apifox导出ts类型
  • 原文地址:https://blog.csdn.net/xishanmeigao2918/article/details/126585431