Python基础操作题-鸡兔同笼问题

导语:

鸡兔同笼,是中国古代著名典型趣题之一,记载于《孙子算经》之中。鸡兔同笼问题,是小学奥数的常见题型。   不知道你们会不会算呢?

鸡兔同笼问题 

《孙子算经》书中是这样叙述的:

今有雉兔同笼

上有三十五头

下有九十四足

问雉兔各几何

  #   解释   #  

“现在有鸡和兔子同在一个笼子里”

“从上面数,有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只。

Python基础操作题-鸡兔同笼问题_第1张图片

抬腿解  我不作大哥好多年...

那我们来看如何抬腿吧!

  #     请把你们的脚,都抬起2只来     #  

  

假设在笼子里所有的,都抬起两只脚

让他们趴在笼子里。

也让所有的,也都抬起两只脚

让它们学习“站立”

那么因为有35个头

每个头都要抬起两只脚脚

脚的数量就会突然减少

35 * 2 = 70

94 - 70 = 24

剩下的脚是谁的呢?

是兔子的。每只兔子剩2个脚

所以:24 / 2 = 12

 有12只,

有:35 - 12 = 23 只

  #     让小鸡抬起1只脚、兔子抬起2只脚     #  

  

假设鸡都抬起一只脚

兔子都抬起两只脚

鸡抬起1只脚剩1只;

兔子抬起2只脚剩2只

那么,脚的数量就会变为原来的一半。

94 / 2 = 47

这时,笼子里兔子比鸡的脚多1

那只要用教的数目减去头的数目

算出来的就是兔子多出来的脚

47 - 35 = 12

所以兔子 有12只

小鸡有35 - 12 = 23 只

  #     让兔子抬起2只脚     #  

那么每一个头下面都只有2个脚

35个头也就是35 * 2 = 70个脚

那么少掉了,94 - 70 = 24个脚

这24个 就是兔子抬起来的2只脚

24 / 2 = 12

所以

所以兔子 有12只

小鸡有35 - 12 = 23 只

python解  小菜一碟、难不倒我代码

挺好玩的吧,接下来就用代码来看看怎么解决吧!

首先:定义变量将头和脚的数目保存起来。

Python基础操作题-鸡兔同笼问题_第2张图片

用一个for循环,

让鸡从1只算到35只总有一个是正确的答案。

兔子的数量就等于头减去鸡。

Python基础操作题-鸡兔同笼问题_第3张图片

用if语句,判断他们脚的数量

Python基础操作题-鸡兔同笼问题_第4张图片

如果他们脚的总和等于94,就说明找到了鸡兔的数量,直接输出

Python基础操作题-鸡兔同笼问题_第5张图片

运行一下。

Python基础操作题-鸡兔同笼问题_第6张图片

python完整程序 

Python基础操作题-鸡兔同笼问题_第7张图片

程序的原理就是:

鸡等于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,'只小鸡。')

end

这期就分享到这啦~希望对你们有帮助!喜欢的话记得个小编个三连啦~家人们的支持是小编更新最大的动力!

​想领取更多完整源码跟Python学习资料可点击这行

你可能感兴趣的:(程序员,Python,python,p2p,linq)