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 相关文章推荐
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
Windows下搭建python开发环境详细步骤
Jul 20 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
python 判断网络连通的实现方法
Apr 22 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
Keras实现将两个模型连接到一起
May 23 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 Python
Selenium 安装和简单使用的实现
Dec 04 Python
Django框架之路由用法
Jun 10 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使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
Node调用Java的示例代码
2017/09/20 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
Python 探针的实现原理
2016/04/23 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
详解Python 函数参数的拆解
2020/09/02 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
全球性的女装店:storets
2019/06/12 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
外语专业毕业生自我评价分享
2013/10/05 职场文书
语文教育专业应届生求职信
2013/11/23 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
竞聘演讲稿
2014/04/24 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
奖励通知
2015/04/22 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers