Skip to content

E02750: 鸡兔同笼

math, http://cs101.openjudge.cn/practice/02750

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

输入

一行,一个正整数a (a < 32768)。

输出

一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。 如果没有满足要求的答案,则输出两个0,中间用一个空格分开。

样例输入

20

样例输出

5 10
python
num_feet = int(input())
if (num_feet%2 != 0) :
  print("{} {}".format(0,0))
elif (num_feet%4 ==0) :
  print("{} {}".format( int(num_feet/4), int(num_feet/2)) )
else :
  print("{} {}".format( num_feet//4 + 1, int(num_feet/2)) )

计算思维包括数学思维,计算机思维。这就是清晰的数学思维。

1900017722,吉祥瑞,元培学院

解题思路:设有x只鸡,y只兔子,则2x+4y=a,xN,yN总数z=x+y。由高中学过的线性规划知识,x=a2zmax=a2,若为4的倍数,则x=0zmina4;若不是4的倍数但是2的倍数,则x=1zmin=a+24

python
a = int(input())
if a%4 == 0:
    print(int(a/4), int(a/2))
elif a%2 == 0:
    print(int((a+2)/4), int(a/2))
else:
    print(0, 0)