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脚本实现格式化css文件
Apr 08 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 Python
解决python脚本中error: unrecognized arguments: True错误
Apr 20 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
VSCODE配置Markdown及Markdown基础语法详解
Jan 19 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
桌面中心(二)数据库写入
2006/10/09 PHP
PHP下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
vue中 this.$set的用法详解
2019/09/06 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
详解Python if-elif-else知识点
2018/06/11 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
django2.0扩展用户字段示例
2019/02/13 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
如何使用Pytorch搭建模型
2020/10/26 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
linux面试题参考答案(7)
2012/10/29 面试题
电信专业毕业生推荐信
2013/11/18 职场文书
金融专业大学生自我评价
2014/01/09 职场文书
英文导游欢迎词
2014/01/11 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
单位未婚证明范本
2014/11/25 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
技术负责人岗位职责
2015/02/10 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis