[蓝蓝计算机考研算法训练二期]-day11

99 阅读1分钟

16、鸡兔同笼

已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。

  • 输入 第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10)、a行里,每行都有一个n和m.(0<m,n<100)
  • 输出 输出鸡兔的个数,或者No answer

1、思路

(m-2n)/2为兔子数量,总数减去兔子数为鸡的数量。

2、具体实现

#include<iostream>
using namespace std;

int main()
{
	int a = 0,n = 0,m = 0;
	cin >> a;
	while (a--&&cin>>n>>m)
	{
		if (m % 2 != 0) cout << "no answer";
		else {int r = (m - 2 * n) / 2;//兔子数量
		int c = n - r;//鸡的数量
		if (r < 0 || c < 0) cout << "no answer";
		else cout << "兔子的数量:" << r << "鸡的数量:" << c;
		}
	}
	return 0;
}