考研机试 87.鸡兔同笼

时间:2021/03/10

一.题目描述

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

输入描述

每组测试数据占1行,每行一个正整数a (a < 32768)

输出描述

输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。

题目链接

https://www.nowcoder.com/practice/fda725b4d9a14010bb145272cababef1?

tpId=40&tqId=21418&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking&tab=answerKey

二.算法

题解

先判断给出的数是否能被2整除,若能,则求最小值时先满足兔子,求最大值时先满足鸡;若不能,则输出两个0,表明没有结果。

代码

import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            //读取输入
            int n = in.nextInt();
            //计算
            if(n % 2 == 0){
                int min = 0, max = 0;
                int rabbit = 0, chicken = 0;
                rabbit = n / 4;
                chicken = (n - 4 * rabbit) / 2;
                min = rabbit + chicken;
                System.out.print(min + " ");
                chicken = n / 2;
                rabbit = (n - 2 * chicken) / 4;
                max = chicken + rabbit;
                System.out.println(max);
            }else{
                System.out.println("0 0");
            }
        }
    }
}
努力,向上,自律
原文地址:https://www.cnblogs.com/machi12/p/14512324.html