您的位置:首页 > 编程语言 > Java开发

ACM鸡兔同笼

2017-04-14 18:49 232 查看


鸡兔同笼

时间限制: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


思路:

本题根据兔子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]);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息