PHP解决买小鸡算法问题

问题:一百文买一百只鸡,公鸡5文一只,母鸡3文一只,小鸡1文3只,问有公鸡、母鸡、小鸡各多少只(在每一种都必须有的情况下)?

代码:

public function buyChick() {
    $totalFee = 100; //总金额
    $totalNum = 100; //总只数
    $aFee = 5; //公鸡单价
    $bFee = 3; //母鸡单价
    $cFee = 1/3; //小鸡单价
    $maxA = floor(($totalFee - $bFee - $cFee) / $aFee); //最多买公鸡数
    $maxB = floor(($totalFee - $aFee - $cFee) / $bFee); //最多买母鸡数
    $maxC = floor(($totalFee  -$aFee - $bFee) / $cFee); //最多买小鸡数
    //设$a、$b、$c分别为公鸡、母鸡、小鸡的只数
    for($a=1; $a <= $maxA; $a++) {
        for($b=1; $b <= $maxB; $b++) {
            for($c=1; $c <= $maxC; $c++) {
                if(($a + $b + $c == $totalNum) && ($a * $aFee + $b * $bFee + $c * $cFee == $totalFee)) {
                    echo "公鸡{$a}只,母鸡{$b}只,小鸡{$c}只\r\n";
                }
            }
        }
    }
}

结果:

公鸡4只,母鸡18只,小鸡78只
公鸡8只,母鸡11只,小鸡81只
公鸡12只,母鸡4只,小鸡84只

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李维山

帮到你就行 不差钱

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

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

打赏作者

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

抵扣说明:

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

余额充值