鱼C论坛

 找回密码
 立即注册
查看: 2112|回复: 5

[技术交流] 鸡兔同笼问题

[复制链接]
发表于 2017-8-22 15:00:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
鸡兔同笼,共有3600个头,11000个脚

各位都有什么好的算法实现?
t=1
j=1

while True:
    if (11000-t*4)%2==0:
        j=(11000-t*4)/2
        if t + j != 3600:
            print( t,j)
            t+=1
        else:
            print('兔子有%d只' % t)
            print('鸡有%d只' % j)
            break

这样有点太LOW了

还有,下面这个公式,为什么这样算?
(11000-2*3600)/(4-2)=1900
(4*3600-11000)/(4-2)=1700

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-22 20:25:07 | 显示全部楼层
一个笼子里,共有鸡和兔子共3600只,一共有11000个脚
谁有好的算发?顶起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-22 20:52:37 | 显示全部楼层
本帖最后由 jerryxjr1220 于 2017-8-22 20:58 编辑

假设这3600只都是鸡,那么应该有3600*2=7200只脚,可实际有11000只脚,差了3800只。那么一只兔子比一只鸡多2个脚,所以总共应该有3800/2=1900只不是鸡而是兔子,那么鸡应该是3600-1900=1700只。

写程序的话:
print(['鸡有 %d只,兔子有 %d只。' % (i, 3600-i) for i in range(3600) if i*2+(3600-i)*4==11000][0])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-22 21:34:09 | 显示全部楼层
本帖最后由 hackmeng 于 2017-8-22 21:39 编辑
jerryxjr1220 发表于 2017-8-22 20:52
假设这3600只都是鸡,那么应该有3600*2=7200只脚,可实际有11000只脚,差了3800只。那么一只兔子比一只鸡多 ...


多谢解答,请问推导式小甲鱼视频有讲吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-22 21:42:07 | 显示全部楼层
hackmeng 发表于 2017-8-22 21:34
多谢解答,请问推导式小甲鱼视频有讲吗

当然有啊,仔细看视频。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-22 21:54:01 | 显示全部楼层
jerryxjr1220 发表于 2017-8-22 21:42
当然有啊,仔细看视频。

再次感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 22:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表