首页 > 试题广场 >

鸡兔同笼

[编程题]鸡兔同笼
  • 热度指数:13576 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

输入描述:
每组测试数据占1行,每行一个正整数a (a < 32768)


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

输入

2
3
20

输出

1 1
0 0
5 10
这道题是一道简单题,就是题出的不太好,输入第一行“2”是不用特意去输入的,忽略就好
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        while (in.hasNextInt()) { 
            int a = in.nextInt();    //脚总数
            int min,max;    //最少,最大动物数
            int temp;
            if(a%2!=0) System.out.println("0 0");
            else{
                //min
                min = a / 4;
                temp = (a - (min * 4))/ 2;
                min+=temp;
                
                //max
                max = a / 2;
                System.out.println(min + " " + max);
            }
        }
    }
}


发表于 2021-01-03 15:37:50 回复(0)
Java 解法
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int a = scanner.nextInt();
            if (a%2!=0||a<=1)System.out.println("0 0");
            else {
                int min = a/4+(a%4)/2;
                int max = a/2;
                System.out.println(min+" "+max);
            }
        }
    }
}


发表于 2020-03-14 13:36:36 回复(0)

问题信息

难度:
2条回答 10463浏览

热门推荐

通过挑战的用户

查看代码
鸡兔同笼