从一个骗局谈生活中的基础算法
中国古代的数学家用一些小竹棍摆成不同的形式来表示不同的数目,并进行各种计算,这叫做“筹算”。在《孙子算经》中就给出了摆竹棍的方法。《孙子算经》共3卷,成书在祖冲之之前,大约是公元5世纪。内容主要讲数学的用途,浅显易懂,有许多有趣的数学题。下面的“鸡兔同笼”、“河边洗碗”、“折绳量木”、“三鸡啄粟”,都选自这本书。
①鸡兔同笼
原题是:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
“雉”也叫做“野鸡”,雄的羽毛华丽,脖子上有白色环纹,很漂亮。这道题的意思是“今有鸡和兔同笼,从上面数有头35个,从下面数有脚94只,问鸡和兔各有多少只?”
《孙子算经》上的解法很巧妙,它是按公式
免数=×足数-头数
来算的。具体计算如下:
免数=×94-35=47-35=12(只),
鸡数=头数-兔数=35-12=23( 只)。
这个公式怎样来的呢?
把足数除以2以后,每只鸡只剩下一足,每只免剩下两足了。减去头数,就相当于每只鸡、免再减去一足,鸡足减完了,剩下的每只免只有一足了。此时,所剩足数恰好等于兔子的头数。
“鸡兔同笼”问题的解法不止一种,下面介绍另外一种解法。
由于每只兔子比每只鸡多两足,假如把兔子也算作两足的话,那么鸡兔共有2×35=70足。
由总足数94减去70,剩下的应该是兔子数的两倍。因此,兔子数为
( 94-35×2)÷2
=( 94-70 )÷2=12(只).
鸡数=35-12=23(只).
前两种方法如果与方程比较起来,还是用方程来解最简单:设免子有x只,则鸡有(35-x)只。
由于兔子有四足,鸡有两足,总共有94足。可列出方程:
4x+2(35-x)= 94
4x+70-2x=94
2x=24
x=12,35-x=23
答:免有12只,鸡有23只。
②河边洗碗
有一名妇女在河边洗刷一大摞碗。一个过路人问她:“怎么刷这么多碗哪?”她回答:“家里来客人了。”过路人又问:“家里来了多少客人?”妇女笑着答道:“2个人给一碗饭,3个人给一碗鸡蛋羹,4个人给一碗肉,一共要用65只碗,你算算我们家来了多少客人?”
题目给出了碗的总数以及客人和碗的关系。如果能求出每人占多少只碗,就可以求出客人的数目。每人占多少只碗呢?
2个人给一碗饭,每人占只碗;
3个人给一碗鸡蛋羹,每人占只碗;
4个人给一碗肉,每人占只碗。
合起来,每人占只碗。
客人数为
(人)。
③折绳量木
“有一段木头,不知它的长度,拿来根绳子量木头的长,把绳子拉直来量,绳子多4尺5寸;如果将绳子对折过来量,绳子又短1尺。问这段木头有多长?”
《孙子算经》上的这道题十分有趣。 解这道数学题的关键是找出绳子拉直和绳子对折的关系。
从上图可以看出,半根绳长等于45+10寸。因为绳子可以看成由A点对折的。这样整根绳长就等于(45+10)×2(寸),而木头长为 (45+10)x2-45=65(寸)。
答:木头长为6尺5寸。
④三鸡啄粟
一只公鸡,一只母鸡和一只小鸡在一起啄食了1001粒粟米。当小鸡啄食1粒粟米时,母鸡啄食2粒,公鸡啄食4粒。粟米的主人要求这些鸡的主人偿还粟米。问三只鸡的主人各该偿还粟米多少?
解答这道题时,关键是求出每只鸡啄食粟米的比例。由于小鸡啄食1粒时,母鸡啄食2粒,公鸡啄食4粒,所以如果把1001粒票米分成7份的话,小鸡啄食了1份,母鸡和公鸡各啄食了2份和4份。
小鸡啄食了
1001÷(1+2+4)
= 1001÷7
=143(粒).
母鸡啄食了143×2=286( 粒),
公鸡啄食了143×4=572( 粒).
∑编辑 | Gemini
来源 | 《数学大世界》
算法数学之美微信公众号欢迎赐稿
稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。
投稿邮箱:[email protected]