韩信点兵与中国剩余定理:一个数除以 3、5、7

一个数除以 3 余 2、除以 5 余 3、除以 7 余 2,它最小是多少?这个「物不知数」问题比欧洲同型问题早了一千多年。

适用前提与边界条件

  1. 已认识余数与公倍数的含义
  2. 本页讲这个经典问题的来龙去脉,解法细节以课本例题为准

故事

史实 《孙子算经》卷下有一道名题,原文大意是:有一批东西不知道有多少个,三个三个数剩两个,五个五个数剩三个,七个七个数剩两个,问这批东西有多少个。答案是 。

史实 这道题的分量不在答案,而在它问的是一类问题:已知一个数除以几个数所得的余数,反推这个数。古代算家称之为「物不知数」,后来也叫「孙子问题」。

史实 到了 1247 年,秦九韶在《数书九章》里给出「大衍求一术」,把这类问题从一道例题推进成一套通用算法。这是中国古代数学中最具一般性的成果之一。

传说 民间把这个问题和韩信连在一起,说韩信用它清点全军人数,于是有了「韩信点兵」的说法。正史并无此类记载,它是后人对古算题的附会,讲起来有趣,但不能当史料引。

有争议 「中国剩余定理」这个名称是近代数学界的通行叫法,用来概括这类同余问题的一般解法;至于它在世界数学史上应当如何定位与命名,学者表述不一。

时间线怎么看

两个节点相隔八百多年:前一个是问题的提出,后一个是一般解法的成形。中间的具体演进过程史料并不连续,不能凭两本书的名字就推断出完整传承链条。读数学史时,跳着出现的时间点往往说明「中间还有空白」,而不是说这段时间无事发生。

与数学的关系

这道题与课本里「公倍数」那一节是直接对应的。三个除数 、、 两两互质,它们的最小公倍数是 。所以只要找到一个满足条件的数,比如 ,那么

全部满足:每加一个 ,除以 3、5、7 的余数都不会改变。这也解释了为什么这类问题的答案成族出现,而不是单一数字。

更一般地看,它教的是一种思路:当条件「看起来不够用」时,可以把条件分组处理——先满足一个,再在不破坏它的前提下满足下一个。这种分步满足的思维方式,在后来的方程与算法里反复出现。

还能往哪里读

顺着这道题可以走到两条路上去:一条是公倍数与公因数的系统练习;另一条是「余数的规律」——为什么每隔一个最小公倍数,余数的组合就重复一次。

说法与史实

流传说法史实
正史载有韩信点兵是后世对古算题的附会
答案只有一个数满足条件的数有无穷多个,彼此相差 105
只是趣味占卜《孙子算经》物不知数是世界上较早的同余问题记载

正例与反例

✅ 正例

  • 《孙子算经》「物不知数」原文给出三三数之剩二、五五数之剩三、七七数之剩二,最小答案是 23

❌ 反例

  • 「韩信靠这个办法清点全军人数」缺乏史料支撑,正史中并无记载,不能当史实引用

高频误解与考试易错

  • 以为「韩信点兵」在正史里有记载,它其实是后世对古算题的附会
  • 把答案当成唯一一个数,实际上满足条件的数有无穷多个(相差 105)
  • 忽略「最小」二字:先求最小正整数解,通解再加最小公倍数的倍数

常见问题

这道题最早出自哪里?
《孙子算经》卷下「物不知数」,成书约公元 4—5 世纪,是世界上较早的同余问题记载。
23 是唯一的答案吗?
不是。23 加上 105 的任意整数倍都满足条件,23 只是其中最小的正整数。
105 是怎么来的?
它是 3、5、7 的最小公倍数。每加一个 105,除以 3、5、7 的余数都不变。
为什么叫「中国剩余定理」?
因为这类问题的一般解法由中国古代算家给出,西方数学界后来独立得到同类结果,遂以此命名。
「韩信点兵」是真的吗?
故事流传很广,但正史无载,本页按「传说」标注。

史料出处

  • 《义务教育数学课程标准(2022 年版)》第三学段「数与代数·数与运算」