原典
问沙田一段,有三斜。其小斜一十三里,中斜一十四里,大斜一十五里。里法三百步。欲知为田几何?
答曰:田积三百一十五顷。
术曰:以小斜乘大斜,减中斜自乘,半之,为幂。以里法乘积,开方,得积。
这道题说的是什么
有一块三角形沙田,三条边的长度分别是:
- 小斜(最短边)= 13 里
- 中斜 = 14 里
- 大斜(最长边)= 15 里
已知 1 里 = 300 步,问这块田有多少顷?
仅凭三边长求三角形面积,在没有角度的信息下,这不是一件显然的事。秦九韶给出的答案是 315 顷。
示意图

三斜田:小斜 13 里、中斜 14 里、大斜 15 里,面积 84 平方里,合 315 顷。
古人的算法
术文在算什么
这道题的核心一步是求「幂」。幂,是古算里对「方面积」的称呼——这里指的是三角形面积平方前的那个量。
把小斜记作 a=13,中斜记作 b=14,大斜记作 c=15,术文的次序可以拆成:
a2c2−(2a2+c2−b2)2
先看中间那一项:
2132+152−142=2169+225−196=2198=99
再看第一项:
132×152=169×225=38025
两数相减,得幂:
38025−992=38025−9801=28224
面积是幂开方后的四分之一:
S=428224=4168=42
这里得到的是 42 平方里,还差一半。 原因在于术文里的「半之」在幂之后再除一次,也就是上面这个数还要再除以 4 才是面积:
S=428224×2=84
正确的完整算法应写成:
S=414a2c2−(a2+c2−b2)2
代入:
S=414×169×225−1982=41152100−39204=41112896
S=41×336=84
所以这块沙田的面积是 84 平方里。
单位换算是本题的第二道关
84 平方里不是最终答案,题目要的是「顷」。这里的换算链是本题真正考学生的部分。
1 里=300 步⇒1 平方里=3002=90000 平方步
1 亩=240 步2⇒1 平方里=24090000=375 亩
1 顷=100 亩⇒1 平方里=3.75 顷
于是:
84 平方里=84×3.75=315 顷
与答曰严丝合缝。
用海伦公式复核
今天课本里的海伦公式,形式完全不同:
s=2a+b+c=213+14+15=21
S=s(s−a)(s−b)(s−c)=21×8×7×6=7056=84
84,一模一样。 两条路、两种形式、相隔一千年,落在同一个数上。
现代数学视角
两个公式为什么等价
海伦公式与秦九韶公式的等价,可以在代数上看清楚。
海伦公式的根号内是:
s(s−a)(s−b)(s−c)=16(a+b+c)(−a+b+c)(a−b+c)(a+b−c)
把后三个因式两两相乘,用平方差整理:
(a+b+c)(−a+b+c)=(b+c)2−a2
(a−b+c)(a+b−c)=a2−(b−c)2
设 P=a2,Q=(b+c)2,R=(b−c)2,则根号内等于:
16(Q−P)(P−R)
另一方面,秦九韶公式的根号内除以 16 后正是同一结构。两边同乘 16、配方,就得到:
4a2c2−(a2+c2−b2)2
这是同一个多项式的两种因式分解。 一个把四个线性因式摊开,一个把平方项团在一起。秦九韶选后者,因为算筹上做乘方比开四个因式更省事。
一个值得注意的时间差
秦九韶生卒约在 1202—1261 年间,《数书九章》成书于 1247 年。而海伦(Heron of Alexandria)通常定在公元一世纪。从时间上看,是海伦在前、秦九韶在后。 但两者是独立发展的——海伦公式经阿拉伯世界传入欧洲,秦九韶的推导不见任何外来影响的痕迹。
中国数学史里有「早多少年」的说法,多半是独立发明,不是「领先」。这一点讲给学生时要说准:秦九韶的价值不在比海伦早,而在用完全不同的路径抵达同一结论。
高中课本关联
知识点定位:
- 解三角形:已知三边求面积,是余弦定理的反向应用
- 平方差与配方:本题术文推导的全部骨架
- 单位换算:题目明确给出里法三百步,就是在考换算链
高考考法:
近年高考数学文化题常考这一类。典型问法是给出三边长,问用哪个公式;或给出秦九韶术文描述,要求「翻译」成现代式子。
例如:三角形三边为 13、14、15,求面积。直接用海伦公式最省事:
S=21×8×7×6=84
13、14、15 这个组合值得记住。 它构成一个 13-14-15 三角形,面积是整数 84,内切圆半径是 4,外接圆半径是 865——是一组在考题里反复出现的「友好数字」。
思考与拓展
基础题:
三角形三边为 5、12、13,求面积。再用秦九韶公式算一遍,验证两者一致。
提示:这是直角三角形,面积一眼可得 21×5×12=30。用海伦公式:s=15,S=15×10×3×2=900=30。用秦九韶公式也应得 30。
进阶题:
把本题的「里」换成「步」:沙田三斜为 13 步、14 步、15 步,问面积多少平方步?多少亩?
提示:面积仍是 84 平方步(只要三边单位一致)。84÷240=0.35 亩。对比一下:为什么换成步之后答案这么小?因为「平方里」和「平方步」差 3002=90000 倍。
挑战题:
一个三角形三边为 6、8、10,另一个为 7、24、25。哪个面积大?大多少?不计算,能否直接判断?
提示:两个都是直角三角形(62+82=102,72+242=252)。前者面积 24,后者面积 84。但能否不计算判断?可以考虑:海伦公式里 s(s−a)(s−b)(s−c) 的四个因子,5、6、7、8 的乘积是 1680,18、11、14、19 的乘积远大于此——直接比被开方数即可。
开放题:
为什么秦九韶选择把公式写成「平方差配方」的形式,而海伦写成「四个线性因式连乘」的形式?从算筹运算的角度想,哪种更好算?
提示:算筹做一次乘方(自乘)是一轮操作,四个因子连乘是四轮。在数字大的时候,轮数决定出错概率。这正是算法设计的核心关切。
一句话总结
已知三边求面积,秦九韶用的是平方差配方,海伦用的是四因式连乘——数学形式不同,答案完全相同;而这道题真正的门槛,是最后那道从平方里到顷的三级换算。
— Y. · 2026-11-11