第9讲 约分——古人如何把分数"化简"到最简
孙子算经卷中从一道约分题开始,用'等数'消去公因子——比欧几里得早几百年的最大公约数算法。
原典
今有一十八分之一十二。問:約之得幾何?答曰:三分之二。
術曰:置十八分在下,一十二分在上,副置二位以少減多,等數得六為法,約之即得。
——《孙子算经·卷中》
这是孙子算经卷中的第一道题——一上来就不客气,直接教你约分。
白话翻译
把 约成最简分数,答案是多少?答案是 。
方法:把分母十八放在下面,分子十二放在上面(注意这跟我们现在"分子在上"的习惯相反),然后反复用大数减小数——十八减十二得六,再用十二减六得六,两者相等。这个相等的数就是"等数"(也就是最大公约数),用它来约分就行了。
这个算法,就是大名鼎鼎的更相减损术。
示意图
数学解读
1. 更相减损术:一种朴素却优雅的算法
孙子算经给出的术文虽然短,但背后的算法非常精妙。我们把它展开成现代语言:
给定分子 和分母 ,反复做如下操作:
当两个数相等时(都等于 ),这个数就是最大公约数,古人称为"等数"。于是:
这个过程用现代术语来说,本质上是在求最大公约数(GCD)。
2. 与欧几里得算法的关系
两千多年后,欧几里得在《几何原本》里给出了一个类似的算法,通常称为辗转相除法:
余数为 时,最后一个除数 就是最大公约数。
中国的更相减损术用的是反复减法,西方的辗转相除法用的是除法取余。两种算法逻辑等价——减法可以看作多次除法的退化形式——但辗转相除法在实际计算中要快得多,因为一步能消掉更多位。
有趣的是,这两个算法的发明时间相差不到一百年(孙子算经约成书于公元4世纪,欧几里得《几何原本》约公元前300年),但独立发展出几乎相同的思想内核,这恰好说明:最大公约数是人类对"数的结构"最自然的理解之一。
3. "等数"这个词的精妙之处
孙子算经没有说"最大公约数",而是说"等数"。这四个字非常传神:
- 当我们不断地用大数减小数,最终两数变得相等——这个相等的值就是等数。
- 它既是公约数(能整除原来的两个数),又是最大的——因为它已经把所有公因子都"榨干"了。
古人起名的直觉非常精准:等数,就是让两数在反复减法中"走到一起的那个相等的数"。这种以过程定义概念的方式,跟"最大公约数"这种以性质定义概念的方式,体现了不同的思维路径。
4. 约分的本质:分子分母同时除以最大公约数
从现代数学的角度来看,约分其实是一个等价类的概念: 和 代表同一个有理数,只是表达形式不同。我们说"约到最简",就是在所有等价的分数表达中,找一个分子分母互质(即最大公约数为 )的代表。
孙子算经虽然没有明确说出"等价类"这个词,但他操作的每一步都是精确的——因为同时除以同一个非零数,分数的值不变:
这是分数运算最基础的守恒律,孙子时代就已经牢牢掌握。
5. 更一般的约分思路
孙子算经在卷中后面的题目里,还举了一个更复杂的例子:
今有三分之一、五分之二。问:合之二得几何?
这里需要先通分,再加法。而约分则是通分的逆过程——先把每个分数化成最简形,再找公分母做运算,这样能避免中间数字过大。这个思想在今天依然是分数计算的标配:先约后算,比先算后约更高效。
高中课本关联
① 分数运算与最简分数(必修第一册·有理数)
初中学过"约分"和"通分",但通常只教操作步骤——"分子分母同时除以它们的最大公约数"。孙子算经给了一个很好的视角:为什么要约分? 答案就是让分数表达最简洁,方便后续运算。高考中关于分数运算的题目,往往会在最后要求写成最简形式,这里的"最简"对应的就是孙子所说的"等数"消干净的状态。
② 最大公约数与欧几里得算法(必修第二册·数列/数论初步)
高中数学竞赛里经常出现的欧几里得算法,其实就是孙子更相减损术的现代版。两者的核心思想完全一致:若 ,则 (辗转相除)或 (更相减损)。竞赛中常见的问题如"求两个大整数的最大公约数",用更相减损术做演示,既直观又贴近算法思维。
③ 同余与模运算(选修·数论初步)
辗转相除法背后有一个很深的结构:每次取余,其实是在做模运算。当我们说 ,就是在说 减去 之后剩 。孙子算经的"以少减多"本质上就是一种不断缩小的同余变换,直到余数为零(或者说两数相等)。这是通向中国剩余定理和现代数论的桥梁。
教学启示
在教"约分"的时候,建议不要只停留在"除以最大公约数"这个机械步骤上。你可以让学生亲手演算一遍更相减损术:
- 给出一道约分题(比如 )。
- 让学生用反复减法来求最大公约数。
- 再对比一下辗转相除法,看哪个更快。
这个过程不仅能让学生理解为什么要除以最大公约数,还能让他们体会到:数学算法从来不是唯一的一条路,不同的文化会走出不同的路径,但最终都会汇聚到同一个本质。
另外,这道题还有一个很巧妙的设计:孙子把分母放在下面、分子放在上面。这跟我们今天"分子在上"的习惯相反,但它其实更符合"被除数在前"的直觉——你总是要用大的那个数(分母)去除,对吧?在教学时提一下这个历史差异,能让学生对数学符号的系统性有更深的认识。
思考与拓展
-
算一算:用更相减损术求 ,写出每一步。再对照辗转相除法,比较两种方法的步骤数。
-
想一想:孙子说"副置二位以少减多,等数得六为法"。如果分子分母一开始就相等(比如 ),"等数"直接就是分子本身,结果就是 。这个边界情况说明了什么?
-
挑战题:求 约分后的最简形式。(提示: 和 的最大公约数就是 ,但这个结果是一个分数,试着把它写成 的形式。)
一句话总结
最相减损求等数,约分之道在其中——孙子用最朴素的手工减法,写下了人类历史上最早的"GCD算法",这比西方的欧几里得只晚了几百年。