鸡兔同笼
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。
-
输入
-
第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10)
a行里,每行都有一个n和m.(0<m,n<100)
输出
- 输出鸡兔的个数,或者No answer 样例输入
-
2 14 32 10 16
样例输出
-
12 2 No answer
-
第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10)
思路:
本题根据兔子4条腿,鸡2条腿,兔子鸡的总数是否等于输入的总数来判断。输出的时候先判断没答案的情况,因为先判断有答案的情况,也会存在没兔子或者没鸡的情况
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int n = 0,m = 0;
int[] tt = new int[a];
int[] jt = new int[a];
for(int i=0;i<a;i++){
n = sc.nextInt();//总数量
m = sc.nextInt();//总腿数
for(int j=0;j<=n;j++){//兔子
for(int k=0;k<=n;k++){//鸡
if(4*j+2*k==m&&k+j==n){
tt[i] = j;
jt[i] = k;
}
}
}
}
for(int i=0;i<a;i++){
if(tt[i]==0&&jt[i]==0){//先判断没有答案即数组中都为0.因为先判断有答案的情况,也会存在没兔子或者没鸡的情况
System.out.println("No answer");
}else {
System.out.println(jt[i]+" "+tt[i]);
}
}
}
}