2021-12-17 每日一练 100元怎么买100个蛋,鸡蛋1毛一个,鸭蛋3元一个,鹅蛋6元一个

100元怎么买100个蛋,鸡蛋1毛一个,鸭蛋3元一个,鹅蛋6元一个

解析:假设 鸡蛋:x个 鸭蛋:y个 鹅蛋:z个; 100元=1000毛
方程式:
1x+30y+60z=1000
x+y+z=100
x>0; y>0; z>0; 且均为整数。
x=100-y-z
29y-59z=900
y=(900-59z)/29

当z=1时;y=29;x=70;符合要求
当z=2时;y不能整除


计算所有符合条件的结果。

Egg 类的代码和上面分析有一定出入,但是意义一样。都需要满足如下条件
x>0; y>0; z>0; 且均为整数
x+y+z=100
1x+30y+60z=1000
该类,直接使用假设法
当x=1,y=1时;计算z的值是否符合要求
当x=1,y=2时;计算z的值是否符合要求


计算符合条件的结果。显然该类的方法不如上面解析后方法,但计算机的计算速度高到可以忽略它们的差异。

public class Egg {
  public static void main(String[] args) {
        int chicken = 0, duck = 0, goose = 0;
        for (int i = 0; i < 100; i++) {
            chicken = i;
            for (int j = 0; j < 100; j++) {
                duck = j;
                goose = 100 - duck - chicken;
                if (chicken + duck * 30 + goose * 60 == 1000 && chicken > 0 && duck > 0 && goose > 0) {
                    System.out.println("鸡:" + chicken + "  鸭:" + duck + "  鹅:" + goose);
                }
            }
        }
    }
}

输出:

:70:29:1

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EngineerForSoul

你的鼓励是我孜孜不倦的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值