C++8002011752鸡兔同笼

难度级别: A; 编程语言:不限;运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述

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

输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a<32768)
输出
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。
输入示例
2
3
20
输出示例
0 0
5 10

由此我们可以马上看出来,如果脚的总数是奇数,那么直接输出0 0,因为偶数加法不出奇数。

接下来,我们可以判断了:要使动物最少,就全关兔子(想想为什么?);要使动物最多,就全关鸡。这题还有不明白的吗?

#include<iostream>
using namespace std;
int a,i,x,m,n;
int main()
{
    cin>>a;
    for(i=0;i<a;i++)
    {
        cin>>x;
        if(x%2==0)
        {
            m=x/4;
            if(x%4!=0) n=1;
            cout<<m+n<<' ';
            m=x/2;
            cout<<m;
        }
        else cout<<0<<' '<<0;
        cout<<endl;
    }
    return 0;
}

  

神がいた世界、その指先で映りのは、わが身が受けた大きいこと、また「責任」と言われろ?
原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/jttl.html