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

穿渠计功——当面积单位混进长度单位

穿渠长二十九里一百四步,上广一丈二尺六寸,下广八尺,深一丈八尺,秋程人功三百尺,问须功几何?答曰三万二千六百四十五功。这道题藏着全书最容易绊人的单位陷阱:术文里的「一百八十五尺四寸」听起来是长度,其实是面积——平方尺里的「寸」,跟尺子上的寸不是一回事。

原典

今以穿渠,长二十九里一百四步,上广一丈二尺六寸,下广八尺,深一丈八尺,秋程人功三百尺。问:须功几何?

答曰:三万二千六百四十五功。

术曰:置里数以三百步乘之,内零步,六之,得五万二千八百二十四尺,并上下广,得二丈六寸,半之,以深乘之,得一百八十五尺四寸,以长乘得九百七十九万三千五百六十九尺六寸,以人功三百尺除之,即得。

白话翻译

要开挖一条渠道:长二十九里又一百零四步,上口宽一丈二尺六寸,下底宽八尺,深一丈八尺。秋季每人定额三百立方尺。问需要多少功?

答案是:三万二千六百四十五功。

术文给的算法是:把里数乘三百步,加零头步数,得总步数;再乘六(一步六尺),得总长五万二千八百二十四尺;上下广相加,得二丈六寸(应为二丈零六寸),取半;乘深度,得「一百八十五尺四寸」——这是截面积;乘长得体积;最后用三百除,得功数。

这道题与第 29 讲的「筑城」是同一类工程定额题,一样算梯形截面体积、一样除人功。但它难得多:渠道长度以「里」和「步」计,宽以「丈、尺、寸」三级计,中间还夹着「平方尺」这个面积单位,而术文偏偏用同一个「尺」字记三样东西。单位层级全乱套,正是本题的刻意之处。

示意图

穿渠计功:长度、宽度、面积、体积四级单位换算

图:里→步→尺;丈/尺/寸→半广;平方尺的体积;最后除定额 300 得 32645 功

古人的算法

术文五步,每步都有单位陷阱,逐个拆。

第一步,里换算成步。 1 里 = 300 步。二十九里是

29×300=8700 步29 \times 300 = 8700\ \text{步}

「内零步」——把零头一百零四步加进来:

8700+104=8804 步8700 + 104 = 8804\ \text{步}

第二步,步换算成尺。 1 步 = 6 尺:

8804×6=52824 尺8804 \times 6 = 52824\ \text{尺}

术文「得五万二千八百二十四尺」。这一步和第 18 讲的圆窖一样,用的是「1 步 = 6 尺」这个秦汉度量(今天的一步通常指左右各一步,古代「步」是长度单位,六尺为步)。

第三步,截面积。 上广一丈二尺六寸、下广八尺。先统一成寸:

上广=1丈2尺6寸=126 寸\text{上广} = 1\text{丈}2\text{尺}6\text{寸} = 126\ \text{寸} 下广=8尺=80 寸\text{下广} = 8\text{尺} = 80\ \text{寸}

并之得 126+80=206126 + 80 = 206 寸,即二丈零六寸。术文写「得二丈六寸」,省略了中间那个「零尺」——中算常见的简记,读的时候必须补全,否则会误以为是 26 寸。

半之:

206÷2=103 寸206 \div 2 = 103\ \text{寸}

以深乘之。深一丈八尺 = 180 寸:

103×180=18540 平方寸103 \times 180 = 18540\ \text{平方寸}

换成平方尺(1 平方尺 = 100 平方寸):

18540÷100=185.4 平方尺18540 \div 100 = 185.4\ \text{平方尺}

这就是术文「一百八十五尺四寸」的真相——它是 185.4 平方尺,不是 185 尺加 4 寸长!面积单位里的「寸」,指的是平方寸,与尺子上的寸完全两回事。术文用「尺」记平方尺、用「寸」记「点四」,读错一个字整道题就崩。

第四步,截面积乘长得体积。

185.4×52824=9793569.6 立方尺185.4 \times 52824 = 9793569.6\ \text{立方尺}

用分数精确认证:截面积 =9275= \dfrac{927}{5} 平方尺,长 =52824= 52824 尺,

V=9275×52824=489678485V = \frac{927}{5} \times 52824 = \frac{48967848}{5}

第五步,除定额。

N=V300=489678481500=4080654125=3264529125N = \frac{V}{300} = \frac{48967848}{1500} = \frac{4080654}{125} = 32645\frac{29}{125}

整数部分 32645 功,与答曰相符。余下的 29125≈0.23\dfrac{29}{125} \approx 0.23 功(约四分之一日的工),古人取整不计。

验算:32645×300=979350032645 \times 300 = 9793500,与体积 9793569.69793569.6 差 69.6 立方尺——正是那个被舍掉的零头。

现代数学视角

用今天的单位制,这道题可以写得很干净。先全换成米:设秦汉一尺约 0.231 米、一步约 1.386 米,则渠道长约 8804×1.386≈122008804 \times 1.386 \approx 12200 米;上口宽约 2.91 米,底宽 1.85 米,深约 4.16 米。截面积约 (2.91+1.85)×4.162≈9.9\dfrac{(2.91+1.85) \times 4.16}{2} \approx 9.9 平方米,总体积约 12.1 万立方米。按一人一日一方(1 立方米)算,约需 12 万个工日——与古法 32645 功同量级(秦汉尺、亩、步的取值历代有争议,量级一致即可)。

本题最有价值的地方,是它逼你分清三个层次的「尺」:

  1. 长度尺:竖着量的,1 步 = 6 尺,1 丈 = 10 尺;
  2. 面积平方尺:1 平方尺 = 10 寸 × 10 寸 = 100 平方寸;
  3. 体积立方尺:1 立方尺 = 10 寸见方。

「平方尺」进到「寸」,进率是 100 而非 10——这就是陷阱所在。术文的「一百八十五尺四寸」,若按长度读成 185.4 尺,恰好蒙对;若读成 185.04 尺,答案就变成 32581 功,与答曰差了 64 功。

为什么古人有勇气省略中间步骤:因为中算书是写给同行的,读者在算筹上操作时,「尺」表示平方尺是不言自明的——算筹摆在那里,是平方还是立方一眼看得出。写下来就含糊了。 这也是我们今天强调「写清单位」的最早教训。

高中课本关联

单位换算的层级:长度、面积、体积三套单位,进率分别是进制的一次、二次、三次方。本题把三套同时用上,是训练量纲意识的极品素材。让学生列出每一步的单位,标出哪里是长度、哪里是面积、哪里是体积。

梯形截面体积:V=(a+b)h2×LV = \dfrac{(a+b)h}{2} \times L,与第 29 讲同一公式。可对比两题的算法异同(本题多了「里→步→尺」的长度换算)。

分数与取整:326452912532645\dfrac{29}{125} 中,29125≈0.23\dfrac{29}{125} \approx 0.23。古人取整。现代工程预算对取整有明确规则(如按定额四舍五入至整数工日),可以讨论:向上取整、向下取整、四舍五入,分别适用于什么场景?

近似与误差:舍去 0.23 功,相对误差约 0.0007%0.0007\%,完全可忽略。这说明:懂得哪里可以省,跟懂得怎么算一样重要。

思考与拓展

  1. 算一算:按术文五步完整算:29×300+104=880429 \times 300 + 104 = 8804 步,×6=52824\times 6 = 52824 尺;上下广化为寸(126、80)并半得 103;×180=18540\times 180 = 18540 平方寸 = 185.4 平方尺;×52824\times 52824;÷300≈32645.23\div 300 \approx 32645.23。核对每一步。

  2. 抓陷阱:术文「并上下广得二丈六寸」少写了一个「零」字。请指出正确值应为多少,并估算如果照字面读成 26 寸,答案会错多少倍。

  3. 单位辨析:术文的「一百八十五尺四寸」是什么量?请分别说明长度、面积、体积三种「尺」在本题中出现在哪一步。

  4. 改数据:若上广改为一丈八尺,其他不变,重算功数。此时截面积是否仍是「××尺×寸」的简式?

  5. 取整讨论:古法答 32645 功,精确值是 32645.2332645.23。若每天要发口粮给工人,向上取整更安全;若统计已用工时,向下取整更保守。你认为这里该用哪种?查一查现行预算定额用的是哪种。

一句话总结

里、步、尺、丈、寸、平方尺、立方尺,七个单位走完一道题——术文用同一个「尺」字记三样东西,简洁得惊人,也危险得惊人。

— Y. · 2026-10-19