题解 | 列方程求解 #百钱买百鸡问题#

百钱买百鸡问题

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


import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        /*
        列方程求解:
        设购买不同鸡的数量分别为x、y、z;
            z=100-x-y;
        设价钱分别为cx、cy、cz;
            cz=100-5x-3y;
        一钱能买3只鸡仔,
            所以cz=3z;
            解得y=(200-14x)/8;
         所以方程就变成了只需一个未知数x就能知道y和z;
            y=(200-14x)/8;
            z=100-x-(200-14x)/8;
          由于y和z都是根据x求出来的,且都进行了除法,所以实际应用中需要考虑不能小于0,并且为整数
         */

        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            in.nextInt();
            for (int x = 0; x <= 100; x++) {
                int y = (200 - 14 * x) / 8;
                int z = 100 - x - y;
                // 考虑实际应用进行筛选
                if (y >= 0 && z >= 0 && z % 3 == 0 && (200 - 14 * x) % 8 == 0) {
                    System.out.println(x + " " + y + " " + z);
                }
            }
        }

    }
}


全部评论

相关推荐

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