前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >鸡兔同笼问题新解与Python实现

鸡兔同笼问题新解与Python实现

作者头像
Python小屋屋主
发布2018-04-16 14:28:22
1.2K0
发布2018-04-16 14:28:22
举报
文章被收录于专栏:Python小屋Python小屋

问题描述:鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。

传统思路,使用暴力测试来枚举所有可能。

for ji in range(0, 31):

if 2*ji + (30-ji)*4 == 90:

print('ji:', ji, ' tu:', 30-ji)

但实际上不需要这么麻烦,我们换个角度来看这个问题:所有鸡、兔听口令,抬起一条腿!再抬起一条腿!现在所有的鸡都目瞪口呆地坐地上了(难道这就是传说中的呆若木鸡?),站着的都是还有两条腿站立的兔子(兔子表示压力也很大),这时站立着的腿的数量的一半是兔子,当然如果得到的数字不是整数则表示无解。代码如下:

def demo(jitu, tui):

tu = (tui - jitu*2) / 2

if int(tu) == tu:

return (int(jitu-tu), int(tu))

print(demo(30, 90))

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档