package algorithm;
import java.util.Scanner;
/*描述
已知鸡和兔的总数量为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
*/
class 鸡兔同笼_行列式解决 {
private static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int n = sc.nextInt();
while (n-- > 0) {
int sum = sc.nextInt();//总数
int leg = sc.nextInt();//腿数
int d = -2;//行列式值
int d1 = leg - 4 * sum;
int d2 = 2 * sum - leg;
if (d1 % d == 0 && d2 % d == 0) {//若解为整数
int x = d1 / d;//鸡数量
int y = d2 / d;//兔数量
if (x >= 0 && y >= 0) {//并且解为正数
System.out.println(x + " " + y);
} else {//并且解为负数
System.out.println("No answer");
}
} else {//若解为小数
System.out.println("No answer");
}
}
}
}
鸡兔同笼,线代行列式解决Java。已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。
最新推荐文章于 2023-12-16 20:33:20 发布