肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > 利用计算机解决鸡兔同笼问题 Python解决鸡兔同笼问题的方法

利用计算机解决鸡兔同笼问题 Python解决鸡兔同笼问题的方法

时间:2023-05-19 02:36:18

相关推荐

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

来开搞今天的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解决鸡兔同笼问题的方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。