免费中国剩余定理计算器

同余式 1: x ≡ a1 (mod n1)

同余式 2: x ≡ a2 (mod n2)

输入同余式以找到解

理解中国剩余定理

中国剩余定理(CRT)是数论中的一个基本结论,它可以求解一个同余方程组——即在给定模数下指定未知整数余数的方程。当模数两两互质时,该定理保证存在一个唯一解(模这些模数的乘积)。这个CRT计算器提供了一种快速、可靠的方式来在线求解这样的系统,使模运算变得简单,无论是学习数论、准备竞赛还是处理加密算法。

模运算与同余

在深入了解定理之前,有必要回顾一下余数的概念。当一个整数aa被一个正整数bb除时,余数rr是满足以下条件的整数(介于0和b−1b-1之间):

a=k⋅b+ra = k \cdot b + r

对于某个整数kk。例如,17除以5得到17=3⋅5+217 = 3 \cdot 5 + 2,所以余数是2。

模运算建立在这个概念之上。我们说两个数aa和bb在模nn下同余,记为a≡b(modn)a \equiv b \pmod{n},当它们除以nn时具有相同的余数。这样的表达式称为同余式。它们的行为类似于普通方程:你可以对两边加上、减去或乘以任意整数(但除法需要小心)。这个简单的性质使同余式成为处理整数的有力工具。

用于GCD的欧几里得算法

欧几里得算法是一种高效求两个整数最大公约数的方法。给定两个数xx和yy且x>yx > y,算法进行如下:

  1. 设a1=xa_1 = x,b1=yb_1 = y,且n=1n = 1。
  2. 确定整数knk_n为bnb_n的最大倍数,使其不超过ana_n(即an/bna_n / b_n的向下取整)。
  3. 计算余数rn=an−kn⋅bnr_n = a_n - k_n \cdot b_n。
  4. 如果rn=0r_n = 0,算法停止且bn=gcd⁡(x,y)b_n = \gcd(x,y)。否则,设an+1=bna_{n+1} = b_n,bn+1=rnb_{n+1} = r_n,将nn增加1,并从步骤2重复。

每一步都有an=kn⋅bn+rna_n = k_n \cdot b_n + r_n。例如,求 gcd(1785, 546):

na_nk_nb_nr_n
117853546147
25463147105
3147110542
410524221
5422210

因为r5=0r_5 = 0,所以gcd⁡(1785,546)=b5=21\gcd(1785, 546) = b_5 = 21。

贝祖引理

贝祖引理(Bézout's identity)指出,对于任意非零整数aa和bb,存在整数kk和ll使得:

k⋅a+l⋅b=gcd⁡(a,b).k \cdot a + l \cdot b = \gcd(a,b).

这些系数可以通过逆推欧几里得算法步骤来求得。继续使用a=1785a = 1785和b=546b = 546(gcd=21),我们通过等式反向代入:

21=105−2⋅4242=147−1⋅105105=546−3⋅147147=1785−3⋅546\begin{aligned} 21 &= 105 - 2 \cdot 42 \\ 42 &= 147 - 1 \cdot 105 \\ 105 &= 546 - 3 \cdot 147 \\ 147 &= 1785 - 3 \cdot 546 \end{aligned}

逐步替换得到:

21=−11⋅1785+36⋅546,21 = -11 \cdot 1785 + 36 \cdot 546,

因此一个有效解是k=−11k = -11、l=36l = 36。注意系数不一定为正,只需是满足等式的整数即可。

中国剩余定理:陈述与算法

中国剩余定理将同余式、欧几里得算法和贝祖引理融为一体。其正式陈述为:

设n1,n2,…,nkn_1, n_2, \dots, n_k是两两互质的正整数(即当i≠ji \neq j时,gcd⁡(ni,nj)=1\gcd(n_i, n_j) = 1)。那么对于任意整数a1,a2,…,aka_1, a_2, \dots, a_k,同余方程组

{x≡a1(modn1)x≡a2(modn2)⋮x≡ak(modnk)\begin{cases} x \equiv a_1 \pmod{n_1} \\ x \equiv a_2 \pmod{n_2} \\ \quad \vdots \\ x \equiv a_k \pmod{n_k} \end{cases}

在模N=n1n2⋯nkN = n_1 n_2 \cdots n_k下有唯一解。

通俗地说:如果你知道一个未知数被几个互质模数除后的余数,你就可以唯一地确定该数(最多加上模数乘积的整数倍)。

要解这样的方程组,按以下步骤操作:

  1. 计算乘积 N=n1n2⋯nkN = n_1 n_2 \cdots n_k。
  2. 对于每个模数nin_i,设mi=N/nim_i = N / n_i。
  3. 使用贝祖引理找到整数viv_i和uiu_i,使得uini+vimi=1u_i n_i + v_i m_i = 1。viv_i即为mim_i模nin_i的乘法逆元。
  4. 定义ei=vimie_i = v_i m_i。注意到ei≡1(modni)e_i \equiv 1 \pmod{n_i},且当j≠ij \neq i时,ei≡0(modnj)e_i \equiv 0 \pmod{n_j}。
  5. 一个特解为x0=a1e1+a2e2+⋯+akekx_0 = a_1 e_1 + a_2 e_2 + \cdots + a_k e_k。通解为x≡x0(modN)x \equiv x_0 \pmod{N}。

虽然算法很直接,但手动计算逆元可能很繁琐。这正是在线CRT求解器发挥作用的地方。

使用计算器的示例

考虑一个经典的糖果分配问题。一位妈妈有一把糖果。当她平均分给三个孩子时,还剩下一颗。如果她再给邻居的女孩一颗(总共四个孩子),则会剩下两颗。再邀请女孩的哥哥(总共五个孩子)时剩下三颗。她买了多少颗糖果?

设xx为糖果数。条件转化为方程组:

x≡1(mod3)x≡2(mod4)x≡3(mod5)\begin{aligned} x &\equiv 1 \pmod{3} \\ x &\equiv 2 \pmod{4} \\ x &\equiv 3 \pmod{5} \end{aligned}

模数3、4、5两两互质,所以CRT适用。使用算法:

  • N=3⋅4⋅5=60N = 3 \cdot 4 \cdot 5 = 60
  • m1=60/3=20m_1 = 60/3 = 20,m2=60/4=15m_2 = 60/4 = 15,m3=60/5=12m_3 = 60/5 = 12
  • 通过欧几里得算法求逆:
    • 对于(3,20):20≡2(mod3)20 \equiv 2 \pmod{3},20模3的逆元v1=−1v_1 = -1,因为(−1)⋅20≡1(mod3)(-1)\cdot 20 \equiv 1 \pmod{3} → e1=(−1)⋅20=−20e_1 = (-1)\cdot 20 = -20
    • 对于(4,15):15模4的逆元为−1-1 → e2=−15e_2 = -15
    • 对于(5,12):12模5的逆元为−2-2 → e3=−24e_3 = -24
  • 计算x0=1⋅(−20)+2⋅(−15)+3⋅(−24)=−122x_0 = 1\cdot(-20) + 2\cdot(-15) + 3\cdot(-24) = -122
  • 最小的非负解为x≡−122≡58(mod60)x \equiv -122 \equiv 58 \pmod{60}。

所以妈妈买了58颗糖果。使用中国剩余定理计算器可以立刻得到这个结果——只需输入三个同余式,工具就会返回最小的正解。

为什么使用这个CRT求解器?

  • 速度:避免手动回代和逆元计算。
  • 准确性:消除处理较大模数时的算术错误。
  • 灵活性:适用于任意数量的同余式(只要模数互质)。
  • 教育性:算法步骤清晰解释,是学习模运算、同余方程组和数论的宝贵辅助工具。

无论你是学生还是从事依赖CRT的加密协议的专业人员,这个工具都能简化求解过程,让你专注于应用结果。

常见问题

1. 中国剩余定理要求模数满足什么条件?

系统中的所有模数必须两两互质(即任意两个不同模数的最大公约数为1)。如果有任何一对模数存在大于1的公因子,定理不能保证唯一解,计算器会提醒您。

2. 如何使用这个CRT计算器解同余方程组?

首先选择同余方程的数量。然后在相应字段中输入每个余数a_i和对应的模数n_i。所有输入完成后,计算器立即显示模数乘积下的最小非负解。

3. 结果'x ≡ 解 (mod N)'是什么意思?

它意味着所有形如(解 + k·N)的整数(其中k为任意整数)都满足所有同余式。计算器通常显示最小的非负代表(即0到N-1之间的整数)。

4. 计算器能处理非互质的模数吗?

不能。中国剩余定理要求模数两两互质才能保证唯一解。如果您输入了不互质的模数,工具会显示错误提示。此时您需要检查同余式是否协调,并可能需要手动简化方程组。

5. 中国剩余定理只用于数学竞赛吗?

除了纯数学之外,CRT在密码学(如RSA解密)、计算机科学(大数的高效运算)和编码理论中都有实际应用。这个求解器能帮助用户在这些场景下快速解决底层的同余问题。

使用方法

  1. 选择系统中同余式的数量(2到6)。
  2. 输入每个同余式 x ≡ a (mod n) 的余数 a 和模数 n。
  3. 计算器将使用中国剩余定理找到唯一的解 x 模 N。