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

沟渠求方——当土方计算遇上立方换算

沟渠广十丈、深五丈、长二十丈,以千尺作一方,问得几何?答案是一千段。这道题看似只是长×宽×深,难点全在第二步:一立方丈等于一千立方尺,体积单位的换算是长度单位换算的立方。今天每项工程预算里的土石方计算,走的仍是同一条思路。

原典

今有沟,广十丈,深五丈,长二十丈,欲以千尺作一方。问:得几何?

答曰:一千段。

术曰:置广十丈,以深五丈乘之,得五十丈;又以长乘之,得一千丈;以千尺除之,即得。

白话翻译

有一条沟,宽十丈,深五丈,长二十丈。现在要把挖出来的土筑成方块,每方用一千立方尺。问能筑多少段?

答案是:一千段。

术文给的算法是:拿宽十丈乘深五丈,得五十丈;再拿它乘长二十丈,得一千丈;最后用一千立方尺作除数除一遍,就得到答案。

第一次读术文的人几乎都会在这里卡住:10×5=5010 \times 5 = 50、50×20=100050 \times 20 = 1000,算出的是「一千丈」——可这是个长度单位,拿长度去除「千尺」算出来的怎么会是段数?

这一步的关窍在于:中算里「丈」可以当体积单位用,前提是前面乘出来的那个「五十丈」其实暗含了截面积。 宽乘深得到的是截面积,只是古代不另立「平方丈」这个单位,就借「丈」来记。再乘长,才补足为体积。这是中算表述的省略习惯,读的时候得自己把单位补全。

示意图

沟渠求方:矩形截面积乘长得总体积,再换算成段数

图:截面积 10 × 5 = 50 平方丈,乘长 20 丈得 1000 立方丈,合 10⁶ 立方尺,每方千尺故得千段

古人的算法

术文三步,拆开来看每一步在做什么。

第一步,求截面积。「置广十丈,以深五丈乘之,得五十丈」——宽十丈、深五丈,两者相乘得五十。这一步步补上单位,应是「五十平方丈」。沟渠的横截面是矩形,面积 = 宽 × 深,就是这一步。

第二步,求体积。「又以长乘之,得一千丈」——拿截面积乘沟长二十丈,得一千。补上单位,应是「一千立方丈」。

第三步,折算成方数。「以千尺除之,即得」——一方是一千立方尺,用一千立方尺作除数,去除沟渠的总体积,得到的就是能筑多少方。

把三步连起来写成今天的算式:

V=(10×5)×20=1000 立方丈V = (10 \times 5) \times 20 = 1000\ \text{立方丈}

然后换算单位:

1 立方丈=10×10×10=1000 立方尺1\ \text{立方丈} = 10 \times 10 \times 10 = 1000\ \text{立方尺}

所以

V=1000×1000=106 立方尺V = 1000 \times 1000 = 10^6\ \text{立方尺}

每「方」一千立方尺,故

N=106103=103=1000 段N = \frac{10^6}{10^3} = 10^3 = 1000\ \text{段}

答曰一千段,验算相符。

这道题真正的考点不是乘法,是第三步的单位换算。 一立方丈等于一千立方尺——因为长度上一丈等于十尺,而体积是长度的三次方,所以 103=100010^3 = 1000。古人没有「立方」这个抽象的幂概念,但他们用「千尺作一方」这个定义,把「一立方丈 = 一千立方尺」这个关系讲清楚了。练习这类题,练的就是长度单位与体积单位之间的立方关系。

现代数学视角

用今天的语言,这道题只涉及两件事:长方体体积,和体积单位换算。

长方体体积公式:

V=l×w×hV = l \times w \times h

本题 l=20l = 20 丈、w=10w = 10 丈、h=5h = 5 丈,故 V=1000V = 1000 立方丈。

体积单位换算是长度单位换算的立方,这是本题唯一值得停留的地方:

1 丈=10 尺⟹1 立方丈=103=1000 立方尺1\ \text{丈} = 10\ \text{尺} \quad \Longrightarrow \quad 1\ \text{立方丈} = 10^3 = 1000\ \text{立方尺}

同理,如果把单位再往小走一步:一尺等于十寸,那么一立方尺等于 103=100010^3 = 1000 立方寸。凡是体积,单位之间的换算率就是长度换算率的立方。 用指数写法一眼看清:

1 立方丈=(10 尺)3=103 立方尺1\ \text{立方丈} = (10\ \text{尺})^3 = 10^3\ \text{立方尺}

放到工程上,这是土石方计算的标准模型。 今天修路、挖渠、平整场地,算的是挖出多少方土、运走多少方、填回去多少方,用的正是「截面积 × 长度 = 体积」,再按「方」(立方米)折算。古代的一方是一千立方尺,今天的一方是一立方米,单位换了,思路没变。区别只在:今天有 CAD 直接算不规则形状的体积,古代只能处理棱柱、堤、沟这类能切成规则截面的形体——这也是《九章算术》商功章一整章都在跟各种土堆形状较劲的原因。

高中课本关联

立体几何初步:柱体体积公式 V=ShV = Sh(底面积乘高),是本题的一般化。沟渠是四棱柱,底面积是矩形 S=lwS = lw,所以 V=lwhV = lwh。往后学的圆柱、棱柱,体积公式都是 V=ShV = Sh——本题就是这个公式最朴素的来源。

幂的运算:106÷103=10310^6 \div 10^3 = 10^3、(10)3=1000(10)^3 = 1000,是整数指数幂的基本运算法则。古代算家当然不写指数,但「以千尺作一方」这个定义,等价于承认了立方关系。

数列的一个小入口:如果把沟的长度一段段加长(2020 丈、4040 丈、6060 丈……),段数就构成等差数列:500,1000,1500,…500, 1000, 1500, \ldots,公差正是每十丈对应的五百段。反过来,如果把每段体积缩小一半(五百立方尺、二百五十立方尺……),段数就构成等比数列。一道工程题稍作改动,就能串起两种数列。

思考与拓展

  1. 算一算:本题 V=10×5×20=1000V = 10 \times 5 \times 20 = 1000 立方丈,换算成立方尺是 10610^6,除以一方千尺得 10001000 段。请把这三步完整写一遍,并说明第二步为什么乘的是 10001000 而不是 1010。

  2. 想一想:若沟渠上广十二丈、下广八丈(梯形截面)、深仍五丈、长二十丈,问得几段?(提示:梯形面积 =上广+下广2×深= \dfrac{\text{上广}+\text{下广}}{2} \times \text{深},先算截面积再乘长。)

  3. 对比题:第 24 讲是堤坝,本题是沟渠。两者都属「截面积 × 长度」模型,差别在截面形状。请分别写出两题的截面积算法,并说明哪一种在古代更难算。

  4. 挑战题:若每方改为五百立方尺,段数变为多少?若同时把沟深深一丈,段数又变多少?两问合起来,段数是原来的几倍?

  5. 单位小实验:量一量教室里书包柜的长、宽、高(单位用厘米),算出体积;再换算成立方米,估一估大约相当于多少「方」土。

一句话总结

宽×深×长得体积,立方丈换立方尺要乘一千——沟渠求方把「体积单位是长度单位的立方」这件事,讲成了看得见的土方。

— Y. · 2026-10-14