数论与整数方法 · S班

物不知数与逐步满足余数条件

先保留一列候选,再加条件筛选;每次用最小公倍数更新步长。

下载视频 ↗
01

每加一条条件,怎样不丢掉原来的条件?

一个正整数,除以3余2,除以5余3,除以7余2。求最小值。先从2、5、8、11……出发,保留符合下一条条件的数。

除以3余2的数:2、5、8、11、14、17……。每次加3,第一条条件始终成立。

对应左侧当前模式与当前步骤

2 + 3k

先保留第一条

除以3余2,全部非负候选为2+3k。

这里 k 为非负整数。数牌展示候选的次序,间距不代表跨模式的统一数值比例。

02

学习准备与适用范围

要达到什么目标?

  • 把一个余数条件写成一列完整候选。
  • 说明合并后为什么不会漏解,为什么步长取最小公倍数。
  • 处理非互质除数,先检查相容性,识别无解。
  • 区分最小非负代表、最小正整数和指定范围内的解。

必要前置

整数除法、倍数、最大公因数与最小公倍数。标准余数 r 满足0≤r<m,其中 m 为正整数除数。

同余(congruence)记号 x≡r(mod m)表示 x 除以 m 余 r,也等价于 m 整除 x−r。本页用候选数列解题,无需先学同余运算公式。

本页是S班深度的方法单元,含非互质与三条件合并;S班为项目教学编排,不声称属于本地官方六上必学内容。题目均为自拟教学题。

03

原理:合并的是整列答案

一条条件,对应一列数

x除以m余r,等价于 x=r+mk,其中 k 是整数。求非负解时可用标准代表0≤r<m及 k≥0;若题目只要正整数,r=0时必须从k=1开始。

把新条件加到已有候选中

设此前条件的全部整数解为 x=r+Lk,新条件是除以m余a。只需检查这一列,而不是从1重新枚举。两条保留项之差既是 L 的倍数,又是 m 的倍数,所以合并后的最小正步长是最小公倍数 lcm(L,m)。

反过来,从某个共同解加上lcm(L,m),必然同时保留两边条件。任意其他共同解与它的差也必是该公倍数的整数倍,因此这列既不漏解,也没有额外的解。

非互质时,先问是否相容

令 d=gcd(L,m) 为最大公因数。若有共同解,则 x−r 是L的倍数,x−a 是m的倍数,两式相减得到a−r必须能被d整除。

相容的充分性:当d整除a−r,写a−r=dq。贝祖等式(Bézout's identity)保证存在整数u、v使uL+vm=d;乘以q,得到L(uq)+m(vq)=a−r。因此选k=uq就能使r+Lk与a同余,确实有共同解。对初学者,可用下面的有限筛选代替求u、v。

能整除:有限筛选

依次检查 r、r+L、……、r+L(m/d−1)。这些候选对m的余数恰好覆盖与r模d同余的各类,所以恰有一项命中a。

不能整除:直接无解

无需无限试数。若d不能整除a−r,任何整数k都无法让两条条件同时成立。

为什么最多检查m/d项?将L、m同时除以d后互质。如果两项在模m下余数相同,m/d必须整除它们的下标差;前m/d个下标之差不足m/d,故不会重复。相容的余数类也恰有m/d个。

新步长 = lcm(L,m) = L × m ÷ gcd(L,m)

合并后把起点减去新步长的整数倍,整理到0≤r′<新步长,再加入下一条条件。

04

两道完整例题

例题一|三个互质除数

一个正整数,除以3余2,除以5余3,除以7余2。求最小正整数,并写出全部正整数解。

  1. 第一条给出 x=2+3k:2、5、8、11、14……。
  2. 检查第二条:2除5余2,5除5余0,8除5余3,第一次命中8。新步长为lcm(3,5)=15,合并为 x=8+15t。
  3. 检查第三条:8除7余1;23除7余2,第一次命中23。新步长lcm(15,7)=105。
  4. 全部正整数解为x=23+105s,s=0,1,2……;最小值23。减去105得到−82,不是正整数。
  5. 逐条验算:23=3×7+2=5×4+3=7×3+2。步长105同时是3、5、7的倍数,所以后续每项都成立。

例题二|非互质合并,再接第三条

一个正整数,除以6余4,除以8余6,除以9余1。求最小值和全部正整数解。

  1. 先看前两条:gcd(6,8)=2,余数差6−4=2能被2整除,因此相容。
  2. 第一列为4、10、16、22、28……,对8的余数依次为4、2、0、6,首个命中22。
  3. 新步长lcm(6,8)=24,得 x=22+24t。用48作步长会只保留部分解,例如46会被漏掉。
  4. 再加“除9余1”:gcd(24,9)=3,差1−22=−21能被3整除。检查22余4,46余1,首个命中46。
  5. 新步长lcm(24,9)=72;全部正整数解为x=46+72s,s=0,1,2……,最小值46。
  6. 验算:46=6×7+4=8×5+6=9×5+1。46−72=−26,不能作正整数解。
05

迁移练习

练习一|相容但不能直接乘

正整数x除以4余1,除以6余3,除以5余4。求最小值及全部正整数解。

查看完整解析

gcd(4,6)=2,3−1=2能被2整除。由1、5、9……筛出9,新步长lcm(4,6)=12,得到9+12t。9除以5恰余4,第三条直接命中,更新步长为lcm(12,5)=60。因此x=9+60s(s≥0为整数),最小9。核验9=4×2+1=6×1+3=5×1+4;向前减60为负数。

练习二|加上范围,解有几个?

x满足例题一的三条余数条件,且100≤x≤500。求所有x和解的个数。

查看完整解析

由例一,x=23+105s,s≥0为整数。s=0时23太小;s=1、2、3、4对应128、233、338、443,均在范围内;s=5时548超过500。数列严格递增,故恰有4个,不是把100至500之间每个数再试一遍。

练习三|零余数的正整数边界

正整数x除以6和8都余0。最小正整数是多少?

查看完整解析

标准非负代表是0,合并步长lcm(6,8)=24。全部非负解为0、24、48……;题目要求正整数,因此最小正解是24,不能答0。

06

边界、反例与回顾

反例:不是所有余数条件都有解

“除以6余4”表示x=6k+4,必为偶数;“除以8余3”表示x=8t+3,必为奇数。一个整数不能既奇又偶,故无解。一般检验也得到gcd(6,8)=2不能整除3−4=−1。

流程:标准余数 → 一列候选 → 检查公因数相容性 → 有限筛选首项 → 用最小公倍数更新步长 → 继续合并 → 按正数与范围筛解 → 逐条验算。

07

逐章回看

完整文字稿默认可见;点击标题可定位到视频中的对应讲解。

一个正整数,除以三余二,除以五余三,除以七余二。怎样找最小值?

先列满足第一条的数:二、五、八、十一。每次加三,余数就不会改变。

只在这列数里筛选除以五余三的数,留下八、二十三、三十八。

两条条件合并后,每次加十五。十五是三和五的最小公倍数,旧条件一起保留。

再检查除以七的余数:八不满足,二十三满足。所以最小正整数是二十三。

全部答案是二十三再加一百零五的非负整数倍。两解之差必须同时被三、五、七整除。

除数不互质时,先查相容性。例如除以六余四,除以八余六,余数差二能被公因数二整除。

候选中第一次相交在二十二,以后每隔二十四再次相交。步长是最小公倍数二十四,不能盲乘成四十八。

如果改成除以六余四、除以八余三,前者必须是偶数,后者必须是奇数,根本没有解。

记住:先检查相容,再逐步筛选。每加一条条件,就用最小公倍数更新步长,最后逐条验算。

08

学习与图示说明

候选数牌仅显示部分数列;省略不代表后面没有解。不同排的间距用于排版,不按统一数值比例绘制。动画展示筛选过程,完整性由正文的整除与最小公倍数论证保证。

本页基于整数除法定义和独立推导,自拟题目经精确整数运算核验;不冒充未核实的题库出处。下载视频 · 下载完整离线包