[数论]中国剩余定理
Posted zero_orez6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数论]中国剩余定理相关的知识,希望对你有一定的参考价值。
线性同余方程
给定三个整数 a , b , m a,b,m a,b,m,求一个整数 x x x使得 a ∗ x ≡ b ( m o d m ) a*x\\equiv b(mod \\ m) a∗x≡b(mod m)(有可能无解),其中未知数指数为1,则称此同余式为一次同余方程或线性同余方程
∵ a ∗ x ≡ b ( m o d m ) \\because a*x\\equiv b(mod \\ m) ∵a∗x≡b(mod m)
∴ a ∗ m − b 是 m 的 倍 数 \\therefore a*m-b是m的倍数 ∴a∗m−b是m的倍数,设为 − y -y −y倍。
原式得: a ∗ m + m ∗ y = b a*m+m*y=b a∗m+m∗y=b。
由扩欧得,此方程当且当 g c d ( a , m ) ∣ b gcd(a,m)|b gcd(a,m)∣b时有解。
当有解时,用欧几里德算法求出一组解 x 0 , y 0 x_0,y_0 x0,y0,满足 a ∗ x 0 + m ∗ y 0 = g c d ( a , m ) a*x_0+m*y_0=gcd(a,m) a∗x0+m∗y0=gcd(a,m)时, x = x 0 ∗ b / g c d ( a , m ) x=x_0*b/gcd(a,m) x=x0∗b/gcd(a,m),可求出一组特解
方程的特解就是所有模数 m / g c d ( a , m ) m/gcd(a,m) m/gcd(a,m)与 x x x同余的整数解
题目
给出你n个同余式,求解一个x满足一下同余式。
{ x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) . . . . . . x ≡ a n ( m o d m n ) \\begin{cases}x\\equiv a_1(mod\\ m_1)\\\\x\\equiv a_2(mod\\ m_2)\\\\......\\\\x\\equiv a_n(mod\\ m_n)\\end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧x≡a1(mod m1)x≡a2(mod m2)......x≡an(mod mn)
其中 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,是除 m i m_i mi以外所有模数的倍数, t i t_i ti是同余方程 M i t i ≡ 1 ( m o d m i ) M_it_i\\equiv1(mod\\ m_i) Miti≡1(mod mi),
所以对于所有不等于 i i i的常数 k k k, a i M i t i ≡ 0 ( m o d m k ) a_iM_it_i\\equiv 0(mod\\ m_k) aiMiti≡0(mod mk),代入 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+k*m(k\\in Z) x+k∗m(k∈Z),在题目要求我们求出最小解时, ( x + m ) (x+m) (x+m)% m m m.
广告
以上是关于[数论]中国剩余定理的主要内容,如果未能解决你的问题,请参考以下文章