PHP百元百鸡(每只鸡至少有一个)

该博客主要介绍了如何通过穷举法解决经典的数学问题——百元百鸡问题。作者以编程的方式,使用PHP编写了循环和判断逻辑,遍历公鸡、母鸡和小鸡的不同组合,寻找总价为100元的买鸡方案。在循环中,通过设置三个嵌套循环分别代表公鸡、母鸡和小鸡的数量,并计算总价,最后筛选出符合条件的买法。博客适合初学者理解编程中的穷举法和逻辑判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路和代码如下:

    //百元百鸡问题 穷举法:
    // 核心思路:
    /*
    我们可以把代码分成两个部分,第一个部分是循环 第二部分是判断筛选
    1、当 公鸡0 母鸡0 小鸡1的时候 总价==100? 不等于,继续循环
    2、当 公鸡0 母鸡0 小鸡2的时候 总价==100? 不等于,继续循环
    3、当 公鸡0 母鸡0 小鸡3的时候 总价==100? 不等于,继续循环
    4、当 公鸡0 母鸡0 小鸡4的时候 总价==100? 不等于,继续循环
    .........(以此类推)
    当全部循环结束的时候,就可以循环出所有买鸡的买法搭配,然后添加条件筛选出你需要的那种方式;
    */
    // 用i来表示公鸡的数量,最高(全买公鸡)也有20只所以i<=20
    for ($i = 0; $i <= 20; $i++) {
        //同理,用j表示母鸡的数量
        for ($j = 0; $j <= 33; $j++) {
            // 用$x表示小鸡的数量,注意因为小鸡是一元三个,所以要先计算一只鸡多少钱,再算100元可以买多少个小鸡
            for ($x = 0; $x <= 333; $x++) {
                // 计算总价钱是否小于100,小于的话就重复最外层循环
                $total = $i * 5 + $j * 3 + $x * 0.33;
                // 判断条件(当总价为100且每种鸡至少买1个的情况下,有多少种买法),然后筛选 
                if ($total == 100 && $i > 0 && $j > 0 && $x > 0) {
                    echo '公鸡:' . $i . '<br/>';
                    echo '母鸡:' . $j . '<br/>';
                    echo '小鸡:' . $x . '<hr/>'; // br 和 hr 只是换行和划线,用于美观,不必在意
                }
            }
        }
    }

本人也是新手,如有漏洞欢迎大佬评价,我会虚心整改。谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值