∫π每天一道数学题
← 返回孙子算经专题
孙子算经 · 第 14 讲 · 2026-09-13 · 约 8 分钟

粟米之法二:粟换粺米——古人怎么算粮食兑换?

《孙子算经》卷中的粟米兑换问题,以粟二斗一升换粺米,完整展现"今有术"的运算逻辑。一道题读懂中国古人的比例算法与分数处理。

原文

今有粟二斗一升。問:為粺米幾何?

答曰:一斗一升五十分升之一十七。

術曰:置粟數二十一升,以粺米率二十七乘之,得五百六十七升,為實;以粟率五十為法,除之不盡,以法而命分。

白话翻译

现在有粟米二斗一升。问:能兑换成多少粺米?

答:一斗一升又五十分之十七升。

运算法则:先把粟米数量统一成"升"作单位,得二十一升。用粺米的兑换率二十七去乘,得到五百六十七升,这就是"实"(被除数)。再用粟米的兑换率五十作"法"(除数),去除这个实。除不尽的时候,就以法(五十)作为分母来表示分数部分。

示意图

粟二斗一升换粺米的兑换运算示意图

粟米兑换粺米的"今有术"运算过程:21升 × 27 ÷ 50 = 11又17/50升

数学解读

一、现代解法:一道比例题的规范书写

这道题本质上是一道正比例应用题。

已知粟与粺米的兑换率:50 份粟 → 27 份粺米

现有粟 2 斗 1 升 = 21 升,设可换粺米 xx 升。

根据比例关系:

x21=2750\frac{x}{21} = \frac{27}{50}

解得:

x=21×2750=56750=111750(升)x = \frac{21 \times 27}{50} = \frac{567}{50} = 11\frac{17}{50} \text{(升)}

换算回复合单位:

111750=1  1  175011\frac{17}{50} \text{升} = 1 \text{斗} \; 1 \text{升} \; \frac{17}{50} \text{升}

核验:11×50+17=550+17=56711 \times 50 + 17 = 550 + 17 = 567,分子正确。答曰"一斗一升五十分升之一十七",完全吻合。

二、古术逐句解读:筹算的五步操作

古人的"术文"是一套精确的筹算操作指令,我们逐句拆解:

第一步:"置粟數二十一升"

"置"是筹算术语,意为"摆放、设定"。把粟的数量统一换算成升:2 斗 1 升 = 21 升。这里的关键是单位统一——古人深知不同单位的数不能直接运算,必须先化为同一单位。

第二步:"以粺米率二十七乘之,得五百六十七升,為實"

"粺米率二十七"指的是粟米兑换表中粺米的比率常数。用 27 去乘 21,得 567。这个积叫做"实"(shí),就是被除数。

这一步的数学本质是:求出"如果分母是 1,粺米应该是多少"的中间量。

第三步:"以粟率五十為法"

"粟率五十"是粟的比率常数,作为"法"(除数)。

第四步:"除之不盡"

用 567 除以 50,得商 11,余数 17,除不尽。

第五步:"以法而命分"

"命分"是古人的分数表达术语。除不尽时,以"法"(50)为分母,余数(17)为分子,得到分数部分 1750\frac{17}{50}

最终结果:11175011\frac{17}{50} 升,即 1 斗 1 升又 1750\frac{17}{50} 升。

三、古今对照:算法完全一致

环节现代算法古术算法是否一致
单位换算2斗1升 = 21升置粟數二十一升
比例乘法21×27=56721 \times 27 = 567以粺米率二十七乘之,得五百六十七升
确定除数除以50以粟率五十為法
分数表达56750=111750\frac{567}{50} = 11\frac{17}{50}除之不盡,以法而命分
结果还原1斗1升1750\frac{17}{50}一斗一升五十分升之一十七

古今算法在数学结构上完全一致,区别仅在于表达语言:现代用阿拉伯数字和等式,古人用筹算术语和程序化指令。

四、"今有术"的核心逻辑:所有比例问题的通解

这道题所用的方法叫做"今有术",是中国古代解决比例问题的标准算法。

"今有"的意思是"现在有",题目的标准开头就是"今有粟二斗一升"。

今有术的通用公式可以写成:

所求数=所有率×所求率所有数\text{所求数} = \frac{\text{所有率} \times \text{所求率}}{\text{所有数}}

在本题中:

  • 所有数 = 21升(现有粟)
  • 所有率 = 50(粟率)
  • 所求率 = 27(粺米率)

粺米=21×2750=56750\text{粺米} = \frac{21 \times 27}{50} = \frac{567}{50}

这个算法与古希腊的"三率法"(Rule of Three)本质相同,但中国数学家至少在公元前1世纪就已经系统使用,比欧洲的明确记载早了约一千年。

五、"命分"的深意:古人的分数智慧

"以法而命分"四个字,体现了中国古代对分数的深刻理解。

"命"是"命名、命名"的意思。当除法除不尽时,古人不是简单地写成一个带余数的算式(比如"商11余17"),而是直接用分数来表示这个除法的精确结果:1750\frac{17}{50}

这说明在《孙子算经》成书的年代(约公元4-5世纪),中国人已经把分数运算发展到了相当成熟的水平。分数的引入,使得比例问题的答案可以是精确值,而不是近似值或带余数的形式。

高中课本关联

知识点定位: 本题直接对应高中数学的比例运算分数表达

高考考法:

  1. 文化背景题:近年高考常以古代数学题为阅读材料,考查学生提取数学模型的能力。例如给出"今有术"的背景,要求用现代数学符号写出算法流程。

  2. 单位换算题:本题涉及"斗"与"升"的换算(1斗 = 10升),与物理、化学中的单位换算考查方式类似。

  3. 算法初步:在"算法与程序框图"章节中,古人程序化的"术文"是很好的案例素材——每一步操作明确,没有歧义,符合算法的确定性特征。

典型变式: 高考中可能出现"粟换御米""粟换稻"等同类问题,核心都是同一套"今有术"。

思考与拓展

练习一:基础换算

今有粟三斗五升。问:为粺米几何?

(提示:35升 × 27 ÷ 50 = 945 ÷ 50 = 18.9升 = 1斗8升4550\frac{45}{50}升 = 1斗8升910\frac{9}{10}升)

练习二:逆向问题

今有粺米二斗三升。问:原粟几何?

(提示:已知粺米求粟,用粺米率作"所有率",粟率作"所求率"。23升 × 50 ÷ 27 = 115027\frac{1150}{27} = 421627\frac{16}{27}升 = 4斗2升1627\frac{16}{27}升)

练习三:比较分析

《孙子算经》粟米兑换表中,粟率50,粺米率27,御米率18。请问:同样的粟,换粺米多还是换御米多?为什么?

(提示:兑换率越高,得到的米越多。粺米率27 > 御米率18,所以换粺米更多。这本质上是因为粺米加工程度低于御米,损耗更少。)

一句话总结

"以法而命分"四个字,道尽了中国古人处理除不尽问题的智慧——用分数给出精确答案,而不是停留在"商几余几"的近似表达。今有术的本质,就是现代数学中的正比例运算。

— Y. · 2026-09-13