全方位提高学习能力的游戏
上QQ阅读APP看书,第一时间看更新

鹿角御敌

方方正正一座城,廿里城墙好威风;

城外长阔各三尺,插支“鹿角”御敌人。

沿城四周挨墙插,每边五层把城封;

森严壁垒人工造,多少“鹿角”方可成?

这是依据《张丘建算经》中的“城外鹿角”名题编写而成的。题中“廿”表示“二十”。原题的意思是:有一个正方形城,四围周长20里。要在沿城外边每个长宽各3尺的地面上,插防御敌军前进的“鹿角”1支,共插5层。问:需要插鹿角多少支?题目中的“里”是旧制长度单位。“里”在《张丘建算经》成书的年代(公元一二世纪),进率为:1里=180丈=1800尺。所以,20里=36000尺。题中的“鹿角”,是古代军队的一种防御工具,它是把有许多树杈的大树枝削尖,插在交通要道上,成为阻挡敌人前进的工具,形状如鹿角,故称为“鹿角”。怎样来解答这道题目呢?

【答案】在《张丘建算经》上,给出了这道题目的答案。这答案用现代的算式表达,可以是

36000÷3×5+(5×3)×(5×3)÷(3×3)×4

=60000+225÷9×4

=60000+100

=60100(支)

即需要插60100支。

为什么可以这样来解答呢?现将其算理、算法,说明如下。

根据题意,我们可将城外“鹿角”的插法,画示意图如下(图中只画了方城之外一个转角处插法的一小部分情况,“▲”和“△”都表示“鹿角”):

由这一个转角处的插法,我们不难想象出其他3个转角处以及整个城外的“鹿角”的插法。由此可以看得出来,《张丘建算经》上的这种解法,是先求出正方形城(若是长方形城,也是这样)外面四周4个长方形内的“鹿角”总数(图中用“▲”表示的),再求四角4个正方形内的“鹿角”总数(图中用“△”表示的),然后将两数相加,即得这一结果。这与现今算术中先求“实心方阵”的总数,再减“中空方阵”的总数的算法有所不同。

在算式中冒出的36 000即36 000尺,也就是原题中的20里。但为什么可以列式为36 000÷3×5呢?

本来,先算正方形城每边的尺数,应该列式为“36 000÷4”;再算正方形城四面中每一面的长方形“长”边上所插“鹿角”的支数,应列式为“36 000÷4÷3”。而每面长方形“宽”边上都是插的5支(5层),故又应列式为“36 000÷4÷3×5”,才可求出每面的长方形内插了多少支“鹿角”。又因为这正方形城四面都要插,即有4个这样的长方形,故4个长方形内共插的“鹿角”支数就是:

36 000÷4÷3×5×4(支)

在这个算式中,有“÷4”和“×4”,古人解题时,便将它简化为“36 000÷3×5”。这样一来,不仅使计算变得较为简便了,而且还使这一算法也适用于长方形城了。

现在,我们再来看方城外的4个角。

城外四角上都有用“鹿角”插成的一个正方形(图中用“△”表示的),每个正方形的边长都是(3×5)尺,面积便是(3×5)×(3×5)平方尺。每支“鹿角”占地(3×3)平方尺,所以,每个正方形内就能插“鹿角”:

(5×3)×(5×3)÷(3×3)(支)

4个角上4个正方形内就能插“鹿角”:

(5×3)×(5×3)÷(3×3)×4(支)

最后,将4个长方形内的“鹿角”总数,加上4个角上4个正方形内的“鹿角”总数,当然就是城外所有的“鹿角”数目了。

假如用现在的办法,假定其城内城外都插满了“鹿角”,先求出假定的“鹿角”支数,再减去中间并未插上的支数,即用“假定为实心方阵的支数”减去“空心部分的支数”的解法去解,显然也是容易解答出来的。