题解 | #百钱买百鸡问题#

百钱买百鸡问题

https://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            /*
            int x = 0; //鸡翁个数
            int y = 0; //鸡母个数
            int z = 0; //鸡雏个数

            从总价100得式1:5x+3y+z/3=100
            从总数100得式2:x+y+z=100
            抵消z:式1*3-式2得14x+8y=200化简7x+4y=100
            假设全部买鸡翁,则y=0,进而x最大=100/7=14
            故0<=x<=14
            根据x求带入方程式7x+4y=100计算出y
            根据xy带入方程式x+y+z=100计算出z
            */
            for(int x=0; x<=14; x++){
                if((100-7*x) % 4 == 0){ //    鸡母个数y为整数;求出x
                    int y = (100-7*x) / 4;
                    int z = 100 - x - y;
                    System.out.println(x + " " + y + " " + z);
                }
            }
            /*
            for (int i = 0; i <= 20; i++) {
                for (int j = 0; j <= 33; j++) {
                    for (int k = 0; k <= 100; k = k + 3) { //最多100只
                        if (5 * i + 3 * j + k / 3 == 100 && i + j + k == 100) {
                            System.out.println(i + " " + j + " " + k);
                        }
                    }
                }
            }
            */

            break; //必须
        }
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务