题目描述
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。
输入描述
输入第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10)、a行里,每行都有一个n和m。(0<m,n<100)
输出描述
输出鸡兔的个数,或者No answer。
思路
-
用一个for循环来遍历鸡和兔的数量,若鸡腿和兔腿的数量相加等于总腿数,则输出。
-
用flag来标记状态,初始=0,如果有输出,则将flag置为1。若遍历完后flag=0,则表示无解,输出No answer。
具体实现
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
while(a--){
int m,n; //鸡和兔的总数量n,总腿数m
cin>>n>>m;
int c,r; //c表示鸡数量,r表示兔数量
int flag=0;
for(int c=0,r=n; c<n; c++,r--){
if(c*2 + r*4 == m){
cout<<c<<" "<<r<<endl;
flag=1;
}
}
if(flag==0) cout<<"No answer";
}
return 0;
}