历史

隙积术和会圆术(2/2)

乘为四,倍之得为八,退上一位为四尺,以圆径除【“退上一位”句】这里是说弧形的高为二步,圆弧直径为十步,算出的结果是08步,折合为四尺。用筹码来计算,就要去掉一个表示五的筹码,加上一个表示一的筹码,类似于珠算中的“退五上一”。圆径:这里指圆弧的弧长……今圆径十,已足盈数,无可除,只用四尺加入直径,为所割之弧,凡得圆径八步四尺也。再割亦依此法,如圆径二十步求弧数,则当折半,乃所谓以圆径除之也。)此二类皆造微之术,古书所不到者,漫志于此。

    【译文】

    算术中求物体体积的方法,如刍萌、刍童、方池、冥谷、堑堵、鳖臑、圆锥、阳马等,各种物体的形状都齐备了,唯独没有隙积这一种算法。古代的算法,凡是计算物体的体积,有立方体,是指六个面都是正方形的物体。它的计算方法是把一条边自乘两次就求得了。有堑堵,是指像土墙一样的形状的物体,两个墙面是斜的,两头的面是直立的。它的截面积的算法是把上、下底面的宽相加,除以二,作为截面的宽,用直高与它相乘即得。再把直高作为股,用上底面的宽减去下底面的宽,得到的差数除以二作为勾,用勾股定理算出弦,就是它的斜边长。有刍童,是说像倒扣在地上的斗那样的形状,四个侧面都是斜面。它的计算方法是:把上底面的长乘以二,加下底面的长,再用上底面的宽乘它,把下底面的长乘以二,加上底面的长,再用下底面的宽乘它;加上这二项,用高乘它们,再取其六分之一,就得到了它的体积。隙积是指体积有空隙的堆垛体,像垒起来的棋子、分层筑造的土坛和酒店里堆起的酒坛一类的东西。它们虽然像倒扣的斗,四个侧面也都是斜的,但由于边缘有残缺和空隙的地方,如果用刍童法来算它,得出的数目常常比实际的少。我想出了一种算法:用刍童法计算出它的上位、下位,再列出它的下底宽,减去上底宽,把这一差数乘以高,取其六分之一,并入前面的数目即可以了。(如果有堆垛的酒坛子,最上层长、宽都是两只坛子,最下层长、宽都是十二只坛子,一层层相错开垛好。先从最上层数起;数到有十二只坛子处,正好是十一层。用刍童法来算,把上层的长乘以二得四,加下层的长得十六,用上层的宽来乘它,得三十二。又把下层的长乘以二得二十四,加上上层的长得二十六,用下层的宽来乘它,得三百一十二。上、下两位相加,得三百四十四,乘以高得三千七百八十四。另外把下层的宽十二减去上层的宽,得十,与高相乘,得一百一十。加上前面的数字得三千八百九十四。取其六分之一,得六百四十九。这就是酒坛子的数目。用刍童法算出的是“实方”的体积,用隙积法算出的是截剩部分拼合成的体积,可以求出多余的体积。)丈量土地的算法,方、圆、曲、直的都有了,但没有会圆的算法。凡是圆形土地,既能够拆开它,又必须使它合起来能恢复圆形。古代的算法只是用“中破圆法”拆开来计算,其误差有达三倍的。我另外设计了一种拆开、会合的方法:设置一块圆形土地,以其直径的一半作为弦;再从半径减去所割下的弧形的高,它们的差数作为股。弦、股各自平方,用弦的平方减去股的平方,它们的差平方作为勾,再乘以二,就是割下的弧形田的弦长。把割下的弧形田的高平方,乘以二,再除以圆的直径,所得的商加上弧形的弦长,便是割下的弧形田的弦长。再割一块田,其算法也如此,把总的弧长减去已割部分的弧长,就是再割田的弧长了。(假如有一块圆形田,直径为十步,想使割出的弧形高二步,就用圆半径五步作为弦,五步平方得二十五,用半径减去弧形的高二步,它们的差数三步作为股,平方得九。用它来减弦的数二十五,得十六,开平方得四,这就是勾,再乘以二就得弧的弦长。把圆弧的高二步自乘,得数为四,再乘以二得八,退上一位为四尺,用圆的直径相除。现今圆的直径为十,已经满了整十数,不除退上一位也可以。只需要将四尺加入弧弦长,就得出圆弧的弧长,共是八步四尺。再割一块田,也依照这种方法。如果圆弧直径是二十步,要求孤长,就应当折半,这就是所说的要用圆弧直径来除它。)这两类方法都是涉及精微的算法,是古书里所没有的,所以随笔记录在这里。