Bailian2750 鸡兔同笼入门
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bailian2750 鸡兔同笼入门相关的知识,希望对你有一定的参考价值。
2750:鸡兔同笼
总时间限制: 1000ms 内存限制: 65536kB
描述
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
输入
一行,一个正整数a (a < 32768)。
输出
一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。
如果没有满足要求的答案,则输出两个0,中间用一个空格分开。
样例输入
20
样例输出
5 10
问题链接:Bailian2750 鸡兔同笼
问题简述:(略)
问题分析:
按Markdown格式重写了题解,旧版题解参见参考链接。
这是一个与传统意义不一样的鸡兔同笼问题。实际上,是计算问题,理清计算逻辑关系是关键。给定脚的总数,求笼子里最少多少只动物,最多多少只动物?脚数不是偶数则是不合理的,输出0。对于给定的脚数,笼子里全是鸡时,动物数量最多;脚尽可能是兔子时,动物数量最少。
程序说明:
程序中,把输入逻辑、计算逻辑和输出输出逻辑分开来写,是推荐的做法,可以使得程序逻辑更加清晰,使得程序更具有可修改性。
参考链接:Bailian2750 鸡兔同笼【入门】
题记:(略)
AC的C语言程序如下:
/* Bailian2750 鸡兔同笼 */
#include <stdio.h>
int main(void)
{
int a, x, y;
scanf("%d", &a);
if (a % 2 == 0) {
x = a / 4 + (a % 4 == 0 ? 0 : 1);
y = a / 2;
} else {
x = 0;
y = 0;
}
printf("%d %d\\n", x, y);
return 0;
}
以上是关于Bailian2750 鸡兔同笼入门的主要内容,如果未能解决你的问题,请参考以下文章