• 技术文章 >后端开发 >Python教程

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

    2016-06-10 15:18:28原创5220
    本文实例讲述了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程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:Python中optparse模块使用浅析 下一篇:Python列表计数及插入实例
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• Python数据分析之concat与merge函数(实例详解)• 实例详解Python面向对象的四大特征• 图文详解怎么用Python绘制动态可视化图表• 介绍六个超好用的Python内置函数• 简单学习Python字符和列表(实例详解)
    1/1

    PHP中文网