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 set集合类型操作总结
Nov 07 Python
在Python的Django框架中创建语言文件
Jul 27 Python
Python数据库的连接实现方法与注意事项
Feb 27 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
Python实现删除排序数组中重复项的两种方法示例
Jan 31 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
Python Selenium操作Cookie的实例方法
Feb 28 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
PHP attributes()函数讲解
2019/02/03 PHP
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
js post提交调用方法
2014/02/12 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
js验证账户名是否重复
2020/05/26 Javascript
python使用pil生成缩略图的方法
2015/03/26 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
使用Python对Access读写操作
2017/03/30 Python
python实现录音小程序
2020/10/26 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
教师党员公开承诺事项
2014/05/28 职场文书
超市理货员岗位职责
2014/07/04 职场文书
2014年实验室工作总结
2014/12/03 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
Python 快速验证代理IP是否有效的方法实现
2021/07/15 Python