NBU_OJ-211还是鸡兔同笼

Description

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

Input

第一行是测试数据的组数n,后面跟着n行输入。每组测试数据占一行,每行包含一个正整数a,代表笼子里面脚的总数。

Output

输出包含n行,每行对应一个输入,包含2个正整数,第一个是最少的动物数,第二个是最多的动物数。如果没有满足要求的答案,则输出两个0。

Sample Input

2
3
20

Sample Output

0 0
5 10

思路
如果脚的个数为奇数,那么一定是无解的。偶数时,最多的情况全是鸡,最少的情况就是全是兔或者n/4+1;

#include <iostream>
using namespace std;
int main() 
{
	int n;
	cin>>n;//测试组数
	int a[n];
	for(int i=0;i<n;i++)//测试数据 
	{
		cin>>a[i];//输入测试数据	
	} 
	for(int i=0;i<n;i++)
	{
		if(a[i]%2!=0)//如果是奇数直接输出0 0 
			cout<<0<<' '<<0<<endl;
		else{
			//最少
			if(a[i]%4==0)
				cout<<a[i]/4<<' ';
			else
				cout<<a[i]/4+1<<' ';
			//最多
			cout<<a[i]/2<<endl; 
		} 
	}
	return 0;
}
发布了83 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Yk_0311/article/details/104018286