圆窖周五丈四尺,深一丈八尺,问受粟几何?答曰二千七百斛。这道题是第 18 讲的姊妹篇,数字更小,而且答案正好凑成整数——周平方 2916,乘深得 52488,除以 12 得 4374,再用斛法一尺六寸二分一除,恰好 2700。古人选数选得恰到好处。
原典
今有圆窖,周五丈四尺,深一丈八尺。问:受粟几何?
答曰:二千七百斛。
术曰:先置周五丈四尺相乘,得二千九百一十六尺,以深一丈八尺乘之,得五万二千四百八十八尺;以一十二除之,得四千三百七十四尺,以斛法一尺六寸二分除之,即得。
白话翻译
有一个圆柱形粮窖,底面周长五丈四尺,深一丈八尺。问能装多少斛粟米?
答案是:二千七百斛。
术文给的算法是:先把周长五丈四尺自乘,得二千九百一十六;再用深一丈八尺乘它,得五万二千四百八十八;拿十二除这个数,得四千三百七十四;最后用斛法「一尺六寸二分」除,就得到答案。
注意术文比第 18 讲更讲究:它没有停在「周三十二」这一步,而是把「周一自乘、以深乘之、以十二除之」这条完整路径一步步写了出来,数字也标得清清楚楚。第 18 讲的术文只说了「径自相乘,以深乘之,十二而一」,没给中间结果——那道题数字大(周长二百八十六尺),中间数不便口算;本题数字小,正好适合当入门的演算范例。
示意图

图:周四步——周²=2916,×深=52488,÷12=4374,÷斛法 1.62=2700,处处整除
古人的算法
术文四步,每步一个整数,可以逐一验算。
第一步,周自乘。 542=2916——术文「得二千九百一十六尺」。
第二步,以深乘之。 2916×18=52488——术文「得五万二千四百八十八尺」。
第三步,以十二除之。 52488÷12=4374——术文「得四千三百七十四尺」。
为什么偏偏是十二? 这一步是全题的数学核心。圆周 C 与底面积 S 的关系是
S=πr2=π(2πC)2=4πC2
古代算圆用「周三径一」,即 π≈3,代进去:
S=4×3C2=12C2
「十二」正是 4π=4×3 的产物。 古人不用代数式,但「周三十二」这个口诀把 4π 打包写进了一个数里。所以第三步的实质是:用周三径一,从周长反推底面积。
第四步,以斛法除之。 斛法「一尺六寸二分」指一斛粟占多少容积——1 尺 6 寸 2 分,换成十进制就是 1.62 尺(1 寸 = 0.1 尺,1 分 = 0.01 尺)。于是
N=1.624374=4374×162100=4374×8150
算一下:4374÷81=54,所以 54×50=2700。
N=2700 斛
这道题的数字是设计过的。 4374 能被 81 整除(4374=54×81),而 162=2×81,所以除以 1.62 恰好得整数。古代算家编题时专门挑了这种「处处整除」的数,让筹算不必处理分数——这正是 facts.json 称它为「整数斛的简便题」的原因。
现代数学视角
把古法翻译成今天的式子,只有一行。
设周长 C=54 尺、深 h=18 尺。古法取 π=3,则底面积与体积为
S=12C2,V=12C2h
代入:
V=12542×18=122916×18=1252488=4374 立方尺
再用「每斛 1.62 立方尺」折算:
N=1.624374=2700 斛
古法与今法的差别只在 π 取多少。 若取 π≈3.14:
V=4×3.14542×18=12.562916×18≈232.17×18≈4179 立方尺
N≈1.624179≈2579 斛
古率估出来比精确值高约 4.7%——因为 π=3 比真值小,分母 4π 偏小,算出的底面积就偏大。对粮窖这种「最多能装多少」的问题,估算偏高反而是安全的(按少的算不够用)。这是工程上常见的选择:宁可用偏保守的近似,也不用会出错的精确。
斛法是个经验常数。 「一尺六寸二分」不是数学推出来的,是量出来的——一斛粟米实际堆起来占多大体积,跟米粒大小、空隙多少都有关系。它相当于今天的「容积密度」:1.62 立方尺每斛 ≈0.65 立方米每斛,按今天的度量折算约合每百升 65 升左右的松散密度,量级合理。古代算书里有大量这类「法」——不是公式,是行业标准值。
高中课本关联
圆的周长与面积:本题是 C=2πr、S=πr2 的联用。由周长反求面积的推导
S=πr2=π(2πC)2=4πC2
本身就是一个漂亮的代数练习——消去 r,得到不含半径的面积表达式。今天做解析几何、物理题时,「已知周长求面积」还是常见套路。
圆柱体积:V=Sh,四棱柱、圆柱通吃。本题就是它的最原始应用场景之一。
近似计算与误差:π=3 与 π=3.14 造成约 4.7% 的差异,是「近似值影响最终结果」的现成例子。可以让学生算:如果窖更大(周长五百四十尺),这个相对误差会变大还是变小?(答案:不变——两边同乘,误差率与尺寸无关。)
整除与约分:4374÷1.62=4374×8150,而 4374=54×81,所以约分后得 54×50=2700。这是分数化简的实战:先识别公因数,再约,比直接除小数干净得多。
思考与拓展
-
算一算:按术文四步完整算一遍——542、×18、÷12、÷1.62,核对每步是否得术文所列的数(2916、52488、4374、2700)。
-
想一想:术文第三步「以十二除之」的「十二」是怎么来的?若改用 π=3.14,这一步该除以几?请写出一般公式。
-
对比题:第 18 讲圆窖周长二百八十六尺、深三十六尺,答案约二万斛。本题周长五十四尺、深十八尺,答案二千七百斛。请分别算出两题的周长与深度之比、答案之比,看它们是否一致,并解释为什么。
-
探究题:保持周长五丈四尺不变,把深度改成三丈六尺(翻倍),容积和斛数各变为多少?这体现了体积与深的什么关系?
-
误差题:用 π=3 与 π=3.14159 分别计算本题容积,求相对误差。再把周长放大十倍重算,相对误差变了吗?由此能得出什么结论?
一句话总结
周²×深÷12÷1.62——四个数一排开处处整除,古人为筹算挑的数,恰好把周三径一和斛法都凑成了整数。
— Y. · 2026-10-09