题目描述

已知鸡和兔的总数量n,总腿数为m。请输出鸡和兔的只数。

输入描述

每行两个整数(不超过100000)分别表示n,m。多组输入,以EOF做结束。

输出描述

每行输出两个数,分别是鸡和兔的数目。如果不能求解,则输出"No answer"

样例输入

14 32
10 16

样例输出

12 2
No answer

源代码:

import java.util.ArrayList;
import java.util.Scanner;
public class Main {
        public static void main(String[] args) {
            Scanner scanner= new Scanner(System.in);
            int n;
            int m;
            boolean ok=false;
            ArrayList a = new ArrayList();//存放兔子数
            ArrayList b = new ArrayList();//存放鸡    
            while(scanner.hasNext()) {
                ok=false;
                n=scanner.nextInt();
                m=scanner.nextInt();                
                ok:for(int i=0;i<n;i++) {//i是兔子
                    for(int j=n;j>=0;j--) {
                        if (i+j==n&&4*i+2*j==m) {
                            ok=true;
                            a.add(i);
                            b.add(j);
                            break ok;
                        }
                    }
                }//第一个for结束
                if (ok==false) {
                    a.add("");
                    b.add("No answer");
                }
                
            }//while循环结束
                
            for (int i = 0; i <a.size(); i++) {
                    System.out.println(b.get(i)+" "+a.get(i));
            }
            
            
        }
}

最后修改:2022 年 04 月 21 日
如果觉得我的文章对你有用,请随意赞赏