Java 百钱百鸡

百钱百鸡

需求:

    我国古代数学家张丘建在《算经》一书中提出的数学问题:
    鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
    百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

分析:

      假设鸡翁a只,鸡母b只,鸡雏c只,则下面式子是成立的
      a+b+c=100;
      5*a+3*b+c/3=100;
      如果单独只看一种鸡型,则下面的算式是成立的
       0<=a<=20 (因为一共只有100钱,所以a最多只能取20)
       0<=b<=33   (同理:b最多只能取33)
       0<=c<=100   (因为最多只能有100只鸡,所以c最多只能取100)
      
      使用穷举法就可以罗例出a,b,c的值。  
       (但是太麻烦了,我们还是用循环嵌套)

思路:

    我们可以用循环嵌套来完成;
    1、第一层循环,用来表示鸡翁,判断条件是a<=20
    2、第二层循环,用来表示鸡母,判断条件是b<=33
    3、第三层循环,用来表示鸡雏,判断条件为c=100-a-b
    4、if语句判断条件为z%3==0&&a+b+c==100&&5*a+3*b+c/3==100是否同时成立,
       如果成立则输出a,b,c的值。

下面是我的源代码

下面展示一些 代码片

 for(int a=0;a<=20;a++)
        {
            for(int b=0;b<=33;b++)
            {
                for(int c=0;c<=100-a-b;c++)
                {
                    if(5*a+3*b+c/3==100&&a+b+c==100&&c%3==0)
                    {
                        System.out.println("鸡翁的数量为:"+a+"鸡母的数量为:"+b+"鸡雏的数量为:"+c);
                    }
                }
            }
        }

下面是执行结果

在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值