11210怎么等于24_【Python】鸡兔同笼怎么“妙解”?

fe5c59610cc5e74e6c03b05b7f7b8d19.png

上一节:

<<【python】 学了编程、我写的第二个游戏...>>

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

不知道你们会不会算呢?

ba79d1965ac3297e74ef1c35cd8f2e65.gif

鸡兔同笼问题

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

今有雉兔同笼

上有三十五头

下有九十四足

问雉兔各几何

# 解释 #

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

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

还算挺简单的,不难!

我的天!!

解题格式居然都记得!!

# 细思极恐 #

5ac0e19697a68bb5321a5bfc4f88451d.gif

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

那我们来看如何抬腿吧!

# 请把你们的脚,都抬起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解 小菜一碟、难不倒我代码

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

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

61929958ded2e1a381bb488cf11683dd.gif

用一个for循环,

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

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

a5c8ca22a651c8ffa03436b7c230dc7e.gif

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

a83b0717713e3851c29f6cfa3a3ba4cb.gif

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

b2cdcf93008adc01be04c425e4356e17.gif

运行一下。

5dc379933779af36276522b46985fb25.gif

python完整程序

595b2a8e3c3a7e3f34ed1189cf021d70.png

程序的原理就是:

鸡等于0,兔子就等于35,然后算一下他们的脚等不等于94,

不等于。重新循环

鸡等于1,兔子就等于34,然后算一下他们的脚等不等于94,

不等于。重新循环

....................

直等到

鸡等于23,兔子就等于12,然后算一下他们的脚等于94,结束循环。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值