Python解决鸡兔同笼问题的方法


Posted in Python onDecember 20, 2014

本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考。具体分析如下:

问题描述

一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼 子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物

输入数据

第 1 行是测试数据的组数 n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整 数 a (a < 32768)。

输出要求

n 行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是 最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出 2 个 0。

输入样例

2
3
20
输出样例
0 0
5 10

解题思路:

首先考虑特殊情况,当a为奇数时,结果都为0
其次考虑偶数:
假设鸡 i只, 兔j只, 那么a=2*i+4*j
我们要求 i+j的最小和最大值
易知 i+j=(a-2j)/2 当j越大 i+j越小 当j越小 i+j越大
当然我们也可以简单的用权重值来思考,而不需要去想具体的计算过程

python实现如下:

n=input()

l=list()

for k in range(n):

    inputNum=input()

    #odd

    if inputNum%2!=0:

        min=max=0

    else:

    #even

    #min

        j=inputNum/4

        i=inputNum%4/2

        min=i+j

    #max

        max=inputNum/2

    l+=[(min,max)]

    

for a,b in l:

    print a,b

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python登录QQ邮箱发信的实现代码
Feb 10 Python
Python代码解决RenderView窗口not found问题
Aug 28 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
NumPy 如何生成多维数组的方法
Feb 05 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
值得收藏的10道python 面试题
Apr 15 Python
使用python实现mqtt的发布和订阅
May 05 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
Jul 15 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
python 通过exifread读取照片信息
Dec 24 Python
Python列表计数及插入实例
Dec 17 #Python
Python二维码生成库qrcode安装和使用示例
Dec 16 #Python
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 #Python
Python 正则表达式(转义问题)
Dec 15 #Python
python正则表达式中的括号匹配问题
Dec 14 #Python
python的类方法和静态方法
Dec 13 #Python
Python计算程序运行时间的方法
Dec 13 #Python
You might like
开启PHP的伪静态模式
2015/12/31 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
Python类属性与实例属性用法分析
2015/05/09 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
五年级科学教学反思
2014/02/05 职场文书
优秀经理获奖感言
2014/03/04 职场文书
2014年学生会工作总结
2014/11/07 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS