其实很多人小时候都算过这样类似的题目:
鸡兔同笼,头15只,脚40只,问鸡和兔子各多少只?
小学的时候,有小朋友会这样算,1个数1个数的凑,假设鸡有1只,那么兔就有14只,腿共有58条;鸡有2只,那么兔就有13只,腿共有56条……依次类推,直到鸡有10只,兔有5只,腿共有40条时,才找到所求的答案。这个算是笨办法,从鸡开始一只一只的算,至少算10次,如果有小朋友运气好,从兔子开始一只一只的算,算5次就找到答案了。
这是一种最笨的办法,这种算法只适合小数量计算,如果有上百只鸡和兔子,非得把小朋友累死不可。
中学的时候,通常学过代数的同学,一定会想到先列方程,马上在纸上写下:
- 设鸡为x只,兔为y只。
- X+y=15
- 2x+4y=40
- y=15-x
- 2x+4*(15-x)=40
- 2x+60-4x=40
- 60-2x=40
- 2x=20
- x=10
- y=5
- 解得X =10,y =5。
这是我们普通人的思维。即便是按照二元一次方程解下来,差不多也要算上十来步,表面上也不省事,但是基本上能解决所有类似的有关问题。
解方程也有技巧,网上有一个快速的方程解法:
- X+Y=15 …….(1)
- 2X+4Y=40 …….(2)
- 由(1)的两边同乘以2 得: 2X+2Y=30 …….(3)
- 然后 (2)-(3) 得: 2Y=10 即 Y=5
- 所以 X+5=15 —-〉X=10
这种方法可以省好几步。
今天在网上看到一个非常好玩的解法,太搞笑了,也太高效了。
算法:
- 假设鸡和兔训练有素
- 吹一声哨,它们抬起一只脚,(40-15=25)
- 再吹一声哨,它们又抬起一只脚,(25-15=10)
- 这时鸡都一屁股坐地上了,兔子还两只脚立着
- 所以,兔子有10/2=5只,鸡有15-5=10只。
这就是高效的算法!
看到这个题目,我真的想起了我的种种童年趣事。过不了几年,我就可以用这种有趣的数学题去考我的女儿了,哈哈!不,今年回家就可以考考在老家读书的侄子和侄女了。
网上的80后们,以后如果有空的话,真的都要收集一些有趣的知识,留着给下一代显摆,以便培养他们的学习兴趣了。