首页 > 试题广场 >

鸡兔同笼

[编程题]鸡兔同笼
  • 热度指数:13427 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

输入描述:
每组测试数据占1行,每行一个正整数a (a < 32768)


输出描述:
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。
示例1

输入

2
3
20

输出

1 1
0 0
5 10
while True:
    try:
        n=int(input().strip())
        ji=n//2#全部装鸡的数目
        tu=n//4#全部装兔子的数目
        list1=[]
        for i in range(ji+1):
            for j in range(tu+1):
                if i*2+j*4==n:
                    list1.append(i+j)
        if len(list1)==0:
            print('0'+' '+'0')
        else:
            print(str(min(list1))+' '+str(max(list1)))
    except:
        break
编辑于 2019-08-03 20:06:19 回复(0)
while True:
    try:
        num = int(input())
        temp1,temp2 = divmod(num,2)
        temp3,temp4 = divmod(num,4)
        if temp2 == 1:
            print('0 0')
        else:
            print("%d %d" % (temp3+temp4//2,temp1))
    except Exception:
        break
编辑于 2018-09-28 17:28:24 回复(0)
try:
    while 1:
        n = input()
        for i in xrange(n):
            a = input()
            if a % 2 != 0:
                print 0, 0
            else:
                result = []
                a /= 2
                for x in xrange(a + 1):
                    if (a - x) % 2 == 0:
                        result.append(x + (a - x) / 2)
                print min(result), max(result)
except:
    pass

发表于 2016-12-28 18:34:01 回复(0)

问题信息

难度:
3条回答 9815浏览

热门推荐

通过挑战的用户

查看代码