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

分绵:余数化成两,再除一次

绵九万一千一百三十五斤,给与三万六千四百五十四户,问户得几何?答曰二斤八两。这道题的答案带一个「两」字——不是巧合。术文先除出二斤,剩下一万八千多斤除不尽,于是「以一十六乘之,得二十九万一千六百三十二两,以户除之」,把余数化成两再除一遍。一套动作,讲透了有余除法中「单位升级」的全部道理。

原典

今有绵,九万一千一百三十五觔,给与三万六千四百五十四户。问:户得几何?

答曰:二觔八两。

术曰:置九万一千一百三十五觔,为实;以三万六千四百五十四户,为法。除之,得二觔,不尽一万八千二百二十七觔,以一十六乘之,得二十九万一千六百三十二两,以户除之,即得。

白话翻译

有绵九万一千一百三十五斤,要分给三万六千四百五十四户。问每户得多少?

答案是:二斤八两。

术文给的算法是:拿九万一千一百三十五斤作为被除数,三万六千四百五十四户作为除数。除一下,得二斤,还剩一万八千二百二十七斤除不尽;于是拿十六乘这个余数,得二十九万一千六百三十二两,再拿户数除,就得零头。

这道题的核心不在除法,在「余数怎么办」。 一斤以下还有更小的单位「两」,古人把余数化成两继续除——这是古代处理有余除法的标准动作,也是今天小数的前身。

示意图

分绵:先除出斤,余数化两再除

图:91135 ÷ 36454 = 2 余 18227 斤;18227 × 16 = 291632 两;291632 ÷ 36454 = 8 两

古人的算法

第一步,分出整斤。 以户数为法除总量:

91135÷36454=2 斤余18227 斤91135 \div 36454 = 2\ \text{斤} \quad \text{余} \quad 18227\ \text{斤}

验算:36454×2=7290836454 \times 2 = 72908,91135−72908=1822791135 - 72908 = 18227 ✓

术文「除之,得二觔,不尽一万八千二百二十七觔」。

第二步,余数化成两。 一斤十六两,所以

18227×16=291632 两18227 \times 16 = 291632\ \text{两}

术文「以一十六乘之,得二十九万一千六百三十二两」。

第三步,再除一次。

291632÷36454=8 两291632 \div 36454 = 8\ \text{两}

验算:36454×8=29163236454 \times 8 = 291632 ✓ 恰好除尽,一两不剩。

合起来:每户得 二斤八两。

这个「恰好除尽」不是巧合。 反推一下:若每户得 22 斤 88 两 =2.5= 2.5 斤,则总数应为 36454×2.5=9113536454 \times 2.5 = 91135 斤——正是题面所给。编题者先定每户二斤八两,再反推出总量九万一千一百三十五斤。 中算书编题常这样:先定答案,反凑数据,让每一步都能整除。

现代数学视角

用今天的小数,这道题一行就完:

9113536454=2.5 斤\frac{91135}{36454} = 2.5\ \text{斤}

0.50.5 斤 =8= 8 两,所以答案是二斤八两。

两种算法的关系,正是「分数与小数的古今之分」。

术文走的是「单位升级 + 再除一次」的路:把余下的 0.50.5 斤不写成 12\dfrac{1}{2} 斤,而是换成 8 两。今天我们用小数点,2.52.5 一个符号搞定。但本质完全一样:都是把「不夠一整分的部分」用更细的单位表示。

术文的做法甚至有一个今天小数没有的优点:它天然保留了单位。2.52.5 斤到底是二斤八两,看一眼小数点还要换算;古人直接说「二斤八两」,市集上立刻能称。在没有标准重量单位的古代,报出「二斤八两」比报出「二点五斤」更实用。

为什么一斤是十六两? 秦汉度量衡定「十六两为一斤」,与「二十四铢为一两」配套,整套衡制都是十六进制与二十四进制混用。这个「十六两」一直用到 20 世纪中叶,才有「十两一斤」的市斤。成语「半斤八两」说的正是这套旧制——半斤等于八两,比喻彼此相当。

高中课本关联

有余除法与余数处理:91135÷36454=2⋯1822791135 \div 36454 = 2 \cdots 18227。古人不停在余数上,而是把余数化成下级单位继续除——这正是小数展开的朴素版本。

分数与小数互化:9113536454=212=2.5\dfrac{91135}{36454} = 2\dfrac{1}{2} = 2.5。让学生写出三种等价形式(带分数、假分数、小数),并换算成斤两。

单位进制:一斤十六两,是十六进制。让学生查一下还有哪些「非十进制」单位(时间 60 秒一分、角度 60 分一度、英制 12 件一打),讨论为什么这些领域不用十进制。

反向编题:已知每户 2 斤 8 两、共 36454 户,反推总量 36454×2.5=9113536454 \times 2.5 = 91135 斤。让学生体会古人编题的逻辑。

思考与拓展

  1. 算一算:按术文算——91135÷36454=291135 \div 36454 = 2 余 1822718227;18227×16=29163218227 \times 16 = 291632;291632÷36454=8291632 \div 36454 = 8。三步都要验算。

  2. 小数对照:把 9113536454\dfrac{91135}{36454} 算成小数,验证是 2.52.5;再把 0.50.5 斤换算成两,看是否与术文一致。

  3. 改数据:若总量改为十二万斤、户数仍三万六千四百五十四户,每户得几斤几两?(提示:120000÷36454≈3.29120000 \div 36454 \approx 3.29 斤,注意余数化两后是否除尽。)

  4. 十六进制的痕迹:查「半斤八两」的典故,说明旧制为什么一斤是十六两;再查今天的市斤(十两一斤)是什么时候改的。

  5. 反向编题:自己编一道题:先定每户得三斤十四两、共两万户,反推总量。然后请同学按术文三步解出来,验证能否整除。

一句话总结

除出二斤还剩一万八千多斤,古人把这堆余数乘十六化成两,再除一次,正好八两——有余除法的下半场,藏在小数出现之前的两千年里。

— Y. · 2026-11-01