Help,求解鸡兔同笼问题(用C语言编程)

Description一个笼子中关了兔子和鸡(兔子有4只脚,鸡有2只脚,没有例外)。现在已经知道笼子中共有n只脚,问笼子中最大有多少只动物,最少有多少只动物?nput第一... Description
一个笼子中关了兔子和鸡(兔子有4只脚,鸡有2只脚,没有例外)。现在已经知道笼子中共有n只脚,问笼子中最大有多少只动物,最少有多少只动物?
nput
第一行是一个整数T,表示测试数据的组数,后面有T行输入,每组测试数据占一行,包括脚的总数n(n < 32768)。
Output
T行,每行输出对应一个输入。输出时二个正整数,第一个是最少的动物数,第二行是最多的动物数,每个整数之间用空格分开。如果没有满足要求的情况,则输出2个0.
Sample Input
2
3
20
Sample Output
0 0
展开
 我来答
asloog
推荐于2018-04-26 · TA获得超过305个赞
知道答主
回答量:38
采纳率:0%
帮助的人:22.6万
展开全部
给你个思路:
1.兔子和鸡的脚都是偶数 得到:n只脚的n是偶数;
2.n可以用一个数子来表示,即n=2k,k是自然数;
3.判断k是奇数还是偶数,如果是偶数,则笼子中最少有n/4只动物,如果是奇数,那么笼子中最少有(k-1)/2只兔子+1只鸡(这个可以输出最少值);
4.无论k是奇数还是偶数,笼子中最多有k只动物(这个可以输出最大值)。
end
程序是写出来的,关键是思路要对。
百度网友c33bbba8a
2010-12-14 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:59.4万
展开全部
刚编了一份C++的,你可以参考一下:
int m1,m2,n;
//共有n只脚,现在设有m1只兔子和m2只鸡
//只有这两种动物,那么n肯定为偶数,即当只有鸡的时候动物数量最多;
//当全部为兔子时,最后会剩下0只脚或2只脚时动物数量最少
cout<<"input a number n:"<<endl;
cin>>n;
m2=n/2;
cout<<"动物数量最大时全部为鸡,数量为:"<<m2<<endl;
int k,l=0;
cout<<"动物数量最少时全部为兔子(situation1),或者为多数兔子与一只鸡(situation2);"<<endl;
if(k=n%4)
{m1=n/4;
cout<<"此时为situation2,则有situation2动物数量为:"<<m1+1<<endl;}
else {l=n/4;
cout<<"此时为situation1,则有situation1动物数量为:"<<l<<endl;}

return 0;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式