百钱百鸡

目录

方法一:根据数量遍历

根据数量遍历代码

根据数量遍历结果

方法二:根据钱数遍历

根据钱数遍历代码

根据钱数遍历结果


方法一:根据数量遍历

根据数量遍历代码

/**
 * 我国古代数学家张丘建在《算经》一书中提出的数学问题:
 * 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
 * 5元一只公鸡,3元一只母鸡,1元3只小鸡。一百元买一百只鸡,问公鸡、母鸡和小鸡个几只?
 *
 * @author xuxiaowei
 * @date 2019年7月6日14:42:03
 */
public class Chicken {

    public static void main(String[] args) {

        // 计算次数
        int sum = 0;

        // 公鸡
        for (int g = 0; g < 100 / 5; g++) {

            // 公鸡
            for (int m = 0; m < (100 - 5 * g) / 3; m++) {

                // 剩余钱全买小鸡
                int x = (100 - 5 * g - 3 * m) * 3;

                if (g + m + x == 100) {
                    System.err.println("公鸡:" + g + "只\t母鸡:" + m + "只\t小鸡:" + x + "只");
                }

                sum++;
            }
        }

        System.err.println("总共计算次数:" + sum);
    }

}

根据数量遍历结果

公鸡:0只	母鸡:25只	小鸡:75只
公鸡:4只	母鸡:18只	小鸡:78只
公鸡:8只	母鸡:11只	小鸡:81只
公鸡:12只	母鸡:4只	小鸡:84只
总共计算次数:343

方法二:根据钱数遍历

根据钱数遍历代码

/**
 * 我国古代数学家张丘建在《算经》一书中提出的数学问题:
 * 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
 * 5元一只公鸡,3元一只母鸡,1元3只小鸡。一百元买一百只鸡,问公鸡、母鸡和小鸡个几只?
 *
 * @author xuxiaowei
 * @date 2019年7月6日14:42:03
 */
public class Chicken {

    public static void main(String[] args) {

        // 计算次数
        int sum = 0;

        // 公鸡花费的钱数
        for (int gMoney = 0, g = 0; gMoney <= 100; gMoney += 5, g++) {

            // 母鸡钱数
            for (int mMoney = 0, m = 0; mMoney <= 100 - gMoney; mMoney += 3, m++) {

                // 小鸡钱数
                int xMoney = 100 - gMoney - mMoney;

                // 小鸡数
                int x = xMoney * 3;

                if (g + m + x == 100) {
                    System.err.println("公鸡:" + g + "只\t母鸡:" + m + "只\t小鸡:" + x + "只");
                }

                sum++;
            }

        }

        System.err.println("总共计算次数:" + sum);
    }

}

根据钱数遍历结果

公鸡:0只	母鸡:25只	小鸡:75只
公鸡:4只	母鸡:18只	小鸡:78只
公鸡:8只	母鸡:11只	小鸡:81只
公鸡:12只	母鸡:4只	小鸡:84只
总共计算次数:364

 

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值