鸡兔同笼,是中国古代著名典型趣题之一,记载于《孙子算经》之中。鸡兔同笼问题,是小学奥数的常见题型。 不知道你们会不会算呢?
《孙子算经》书中是这样叙述的:
今有雉兔同笼
上有三十五头
下有九十四足
问雉兔各几何
# 解释 #
“现在有鸡和兔子同在一个笼子里”
“从上面数,有35个脑袋瓜子”
“从下面数,有94个大猪蹄子”
“问你,鸡兔各有多少只”
| |
| |
| |
| |
| |
这题目是小学奥数里经常出现的,请问你该怎么解呢?
下面先带大家用数学方法来解
# 一元一次方程 #
解:设有x只,则有(35-x)只。
那的腿就是 2 * x
的腿就是 4 * ( 35-x )
2x + 4( 35-x ) = 94
2x + 140 -4x = 94
-2x = -46
x=23
所以
答:等于23只,35-23等于12只。
应该挺简单的吧,不难!
# 二元一次方程 #
解:设有x只,则有y只。
那的腿就是 2 * x
的腿就是 4 * y
①:2x + 4y = 94
又因为
②:x + y = 35
②*2得出:
③:2x + 2y =70
① - ③:2y=24
y=12
把y =12 代入②中得出
x = 23
所以
答:等于23只,等于12只。
抬腿解 我不作大哥好多年...
那我们来看如何抬腿吧!
假设在笼子里所有的,都抬起两只脚
让他们趴在笼子里。
也让所有的,也都抬起两只脚
让它们学习“站立”
那么因为有35个头
每个头都要抬起两只脚脚
脚的数量就会突然减少
35 * 2 = 70
94 - 70 = 24
剩下的脚是谁的呢?
是兔子的。每只兔子剩2个脚
所以:24 / 2 = 12
有12只,
有:35 - 12 = 23 只
假设鸡都抬起一只脚
兔子都抬起两只脚
鸡抬起1只脚剩1只;
兔子抬起2只脚剩2只
那么,脚的数量就会变为原来的一半。
94 / 2 = 47
这时,笼子里兔子比鸡的脚多1
那只要用教的数目减去头的数目
算出来的就是兔子多出来的脚
47 - 35 = 12
所以兔子 有12只
小鸡有35 - 12 = 23 只
那么每一个头下面都只有2个脚
35个头也就是35 * 2 = 70个脚
那么少掉了,94 - 70 = 24个脚
这24个 就是兔子抬起来的2只脚
24 / 2 = 12
所以
所以兔子 有12只
小鸡有35 - 12 = 23 只
挺好玩的吧,接下来就用代码来看看怎么解决吧!
首先:定义变量将头和脚的数目保存起来。
用一个for循环,
让鸡从1只算到35只总有一个是正确的答案。
兔子的数量就等于头减去鸡。
用if语句,判断他们脚的数量
如果他们脚的总和等于94,就说明找到了鸡兔的数量,直接输出
运行一下。
python完整程序
程序的原理就是:
鸡等于0,兔子就等于35,然后算一下他们的脚等不等于94,
不等于。重新循环
鸡等于1,兔子就等于34,然后算一下他们的脚等不等于94,
不等于。重新循环
....................
直等到
鸡等于23,兔子就等于12,然后算一下他们的脚等于94,结束循环。
它的想法是:
只要我算的够快,我就可以为所欲为
for x in range(0,<1>): #公鸡最多多少只?将<1>删除,写上正确的数字
for y in range(0,34): #母鸡最多33只,100//3=33<100
z=<2> #根据一共100只求出小鸡的只数,将<2>删除,写上正确的表达式
if 5*x+3*y+z/3==100: #满足钱数为100即可输出
print('一共有',x,'只公鸡,',y,'只母鸡,',z,'只小鸡。')
这期就分享到这啦~希望对你们有帮助!喜欢的话记得个小编个三连啦~家人们的支持是小编更新最大的动力!