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中用keys()方法返回字典键的教程
May 21 Python
python web基础之加载静态文件实例
Mar 20 Python
python如何通过实例方法名字调用方法
Mar 21 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
python命令行工具Click快速掌握
Jul 04 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
Aug 27 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
Oct 23 Python
filter使用python3代码进行迭代元素的实例详解
Dec 03 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 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实现15位身份证号转18位的方法分析
2019/10/16 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
Python爬虫爬验证码实现功能详解
2016/04/14 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
Python如何定义有可选参数的元类
2020/07/31 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
竞聘演讲稿范文
2014/01/12 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
高中综合实践活动总结
2014/07/07 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
八年级数学教学反思
2016/02/17 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
ant design charts 获取后端接口数据展示
2022/05/25 Javascript