∫π每天一道数学题
← 返回孙子算经
孙子算经 · 第 19 讲 · 2026-10-04 · 约 10 分钟

糳米与御米:一次约分省掉一半力气

今有粟四斗五升,问为糳米几何?答曰二斗一升五分升之三。这道题的数字比上一讲大,术文也多出一个动作——「以二约」。把率先除以二,乘出来的数小一半,除起来也省一半力气。两千年前的算家,已经在用约分让计算变简单了。

原典

今有粟四斗五升。问:为糳米几何?

答曰:二斗一升五分升之三。

术曰:置粟四十五升,以二约糳米率二十四,得一十二,乘之,得五百四十升,为实;以二约粟率,五十得二十五,为法,除之,不尽,以等数约之,而命分。

白话翻译

有粟四斗五升。问能换多少糳米(舂过一遍的精米)?

答案是:二斗一升又五分之三升。

术文给的算法是:把粟按四十五升计,拿二约糳米率二十四,得十二,乘上去得五百四十升作为被除数;再拿二约粟率五十,得二十五,作为除数;除完若不尽,用等数(最大公约数)约分,再用分数记出结果。

注意术文比上一讲多了「以二约」三步。 这不是冗余——它让乘出来的是 540 而不是 1080,除的是 25 而不是 50。在算筹上,数字小一半,摆筹、乘法、除法全都省力。

示意图

以二约:约分前后的两条计算路径

图:45 × 24 ÷ 50 = 21.6;约分后 45 × 12 ÷ 25 = 21.6,殊途同归

古人的算法

第一步,统一单位。 四斗五升 = 四十五升。

第二步,约分。 术文说「以二约糳米率二十四,得一十二」「以二约粟率,五十得二十五」。也就是

24÷2=12,50÷2=2524 \div 2 = 12, \qquad 50 \div 2 = 25

为什么可以这么做? 因为整个算法是「乘一个率、除另一个率」,分子分母同时除以同一个数,比值不变:

45×2450=45×1225\frac{45 \times 24}{50} = \frac{45 \times 12}{25}

这就是约分。 古人不写等式,只写在算筹上怎么省力——但他们确实懂这个性质。

第三步,乘得实。

45×12=54045 \times 12 = 540

术文「得五百四十升」。

第四步,除得商。

540÷25=2135540 \div 25 = 21 \frac{3}{5}

术文说「不尽,以等数约之,而命分」——除不尽,就用最大公约数化简分数,最后记成「⋯35\cdots\frac{3}{5}」。

换成复名数:213521\frac{3}{5} 升 = 21 升 + 0.6 升。21 升是二斗一升(1 斗 = 10 升),0.6 升是「五分升之三」(一升的五分之三)。合起来正是答曰「二斗一升五分升之三」。

验算:

45×2450=108050=21.6\frac{45 \times 24}{50} = \frac{1080}{50} = 21.6 45×1225=54025=21.6\frac{45 \times 12}{25} = \frac{540}{25} = 21.6

两条路径都得 21.6 升,与答曰一致。

出米率这回是:

2450=48%\frac{24}{50} = 48\%

比粝米的 60% 低了——因为糳米舂得更精,损耗更大。

现代数学视角

用今天的记号,这道题就是

m=s×r米r粟=45×2450m = s \times \frac{r_{\text{米}}}{r_{\text{粟}}} = 45 \times \frac{24}{50}

约分是标准的化简步骤:

2450=1225\frac{24}{50} = \frac{12}{25}

于是 m=45×1225=54025=1085=21.6m = 45 \times \dfrac{12}{25} = \dfrac{540}{25} = \dfrac{108}{5} = 21.6 升。

术文的「以二约」正是在做这一步。 值得跟学生强调的是:约分不改变结果,但改变计算量。在算筹时代,把 1080 与 50 换成 540 与 25,意味着摆筹少一半、心算负担小一半。这是数学技巧服务于计算效率的早期范例。

「以等数约之,而命分」这句话更重要。它的意思是:除不尽时,先求分子分母的最大公约数,化到最简,再用分数记出。这正是今天分数运算的规范步骤——先约分,后表示。古人已经把它写进术文,作为通用规则。

换算成复名数的逻辑:21.6 升,整数部分 21 拆成「2 斗 1 升」(逢十进一斗),小数部分 0.6 记成「五分升之三」(一升分成五份取三份)。这是古代处理小数的标准办法——不用小数点,用下一级单位加分数。

高中课本关联

约分与最简分数:2450→1225\dfrac{24}{50} \to \dfrac{12}{25},54025→1085\dfrac{540}{25} \to \dfrac{108}{5}。这是最基础的分数化简,本题给出了一个真实的动机——省算力。

分数与除法的关系:540÷25=54025540 \div 25 = \dfrac{540}{25}。分数就是除法的另一种写法,本题把两者的衔接演示得清清楚楚。

正比例与百分比:m=45×48%=21.6m = 45 \times 48\% = 21.6 升。把古代的率翻译成百分数,古今数学立刻对接。

复名数与小数的等价:21.6 升 = 二斗一升五分升之三。让学生换算几组(如 33.18 升 = 三斗三升一合八勺),体会「逢十进一」与「十分之一」的对应。

思考与拓展

  1. 算一算:不约分直接算 45×24÷5045 \times 24 \div 50,再约分算 45×12÷2545 \times 12 \div 25,比较两个过程。哪个摆筹更省?差了百分之几的工作量?

  2. 换算验算:把 213521\frac{3}{5} 升换算成「二斗一升五分升之三」,说明每一级(斗、升、分)分别怎么来。

  3. 改数据:若粟改为六斗(60 升),问得糳米几何?(答案:60×1225=28.860 \times \dfrac{12}{25} = 28.8 升,即二斗八升五分升之四。)

  4. 三米对比:粝米率 30、糳米率 24、御米率 21,出米率分别是 60%、48%、42%。若三种米各要得 10 升,各需粟多少升?三者相差几何?

  5. 为什么要约:术文说「不尽,以等数约之,而命分」。请解释:若最后得到 54025\dfrac{540}{25},不约分直接写成「二十五分之五百四十」行不行?为什么古人要化到 1085\dfrac{108}{5}?

一句话总结

45 乘 12 除 25,跟 45 乘 24 除 50 本是一回事——以二约,约的是数字的大小,不是答案。

— Y. · 2026-10-04