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

yipeiwu_com6年前Python基础

本文实例讲述了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自制微信机器人,定时发送天气预报

0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己。最近无意中发现了wxpy库,用它来做再合适不...

Python模拟简单电梯调度算法示例

Python模拟简单电梯调度算法示例

本文实例讲述了Python模拟简单电梯调度算法。分享给大家供大家参考,具体如下: 经常在公司坐电梯,由于楼层较高,是双联装的电梯,但是经常等电梯很久,经常有人骂写电梯调度算法的。回来闲来...

Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法

Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法

本文实例讲述了Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法。分享给大家供大家参考,具体如下: 做个笔记 (python 3.6,django 2.0) d...

基于Python实现的ID3决策树功能示例

本文实例讲述了基于Python实现的ID3决策树功能。分享给大家供大家参考,具体如下: ID3算法是决策树的一种,它是基于奥卡姆剃刀原理的,即用尽量用较少的东西做更多的事。ID3算法,即...

Python采集代理ip并判断是否可用和定时更新的方法

网上有很多免费的ip地址,都是可以使用的,但是如果手动来获取太麻烦,这里通过Python自动抓取,可以批量获取。 代码如下: # -*- coding: utf-8 -*- impo...