zoukankan      html  css  js  c++  java
  • 百鸡百钱

      /*
                百鸡百钱
                    有一百钱,要买鸡一百只
                    公鸡5钱一只 母鸡3钱一只 仔鸡三只1钱
                    一百钱必须都花了,必须买够一百鸡
                    三种鸡,每种都必须有
                    问 公鸡 母鸡 仔鸡 各多少只

                实现思路:穷举法
                    生成所有的公鸡母鸡仔鸡数值的可能性,计算符合题目要求的情况,并且输出结果
            */

            // 方法1,三种鸡的范围都是 1-100
            for (var g = 1; g <= 100; g++) {
                for (var m = 1; m <= 100; m++) {
                    for (var z = 1; z <= 100; z++) {
                        // 判断条件,所有的鸡加在一起是100,所有鸡的钱加在一起,也是100
                        // 这里两个条件必须同时满足,是逻辑与 && 关系
                        if (g + m + z == 100 && g * 5 + m * 3 + z / 3 == 100) {
                            console.log(`有公鸡${g}只,有母鸡${m}只,有仔鸡${z}只`);
                        }
                    }
                }
            }

            // 方法2 
            // 公鸡 5钱一只 最多是 20只 因为 20只公鸡 就已经 100 钱了
            // 母鸡 3钱一只 最多是 33只 
            // 循环次数减少,就提高了循环效率
            for (var g = 1; g <= 20; g++) {
                for (var m = 1; m <= 33; m++) {
                    for (var z = 1; z <= 100; z++) {
                        // 判断条件,所有的鸡加在一起是100,所有鸡的钱加在一起,也是100
                        // 这里两个条件必须同时满足,是逻辑与 && 关系
                        if (g + m + z == 100 && g * 5 + m * 3 + z / 3 == 100) {
                            console.log(`有公鸡${g}只,有母鸡${m}只,有仔鸡${z}只`);
                        }
                    }
                }
            }


            // 方法3 
            // 实际上要满足一共100鸡,假如公鸡10只,母鸡30只,仔鸡就必须是60只,才能满足一共100鸡的条件
            // 也意味着 如果 公鸡 母鸡 个数确定 仔鸡的数量一定必须是 100 - 公鸡 - 母鸡
            // 实际上 仔鸡 的循环是不需要的
            // 减少循环的层数,也能提高执行效率
            for (var g = 1; g <= 20; g++) {
                for (var m = 1; m <= 33; m++) {
                    // 仔鸡数量就等于 总数 100 只 减去 公鸡数量和母鸡数量
                    var z = 100 - g - m;
                    // 只需要判断,钱数是否是100钱
                    if (g * 5 + m * 3 + z / 3 == 100) {
                        console.log(`有公鸡${g}只,有母鸡${m}只,有仔鸡${z}只`);
                    }
                }
            }
    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    JSON解析
    [Git的常见使用方式]
    [二进制]原码,反码,补码
    [伪] 级联菜单,两级菜单
    [心得]Java开发中的小心得
    [纪录]仿IOS滚轮效果(竖直滑动选择器)
    web测试总结
    科目组2
    科目组
    凭证:条目视图,总账视图
  • 原文地址:https://www.cnblogs.com/ht955/p/14021633.html
Copyright © 2011-2022 走看看