5瓶啤酒 2个空瓶换1瓶 4个瓶盖换1瓶 能喝多少瓶?

今天父母刷朋友圈看到了这个似乎是小学奥数的一道题目
与我争辩了一番 于是乎我用php解决了 代码不规范望谅解

<?php
/**
 * Created by PhpStorm.
 * User: stussy
 * Date: 2017/6/5
 * Time: 21:32
 */

class Index{
    public function index(){
        $total = 100;     //啤酒总数量
        $h_bottle = 0;    //兑换酒瓶数量
        $l_bottle = 100;  //剩余酒瓶数量
        $h_cap = 0;       //兑换瓶盖数量
        $l_cap = 100;     //剩余兑换瓶盖数量
        $this->bottle($total,$h_bottle,$l_bottle,$h_cap,$l_cap);
    }
    //兑换酒瓶
    public function bottle ($total,$h_bottle,$l_bottle,$h_cap,$l_cap){
        //新增啤酒数量
        $m_beer = floor($l_bottle/2);
        $h_bottle += ($m_beer*2);
        //echo $h_bottle;exit();
        $total += $m_beer;
        $l_bottle = $total - $h_bottle;
        $l_cap +=$m_beer;
        //判断瓶盖是否够换新酒
        if($l_cap>=4){
            $this->cap($total,$h_bottle,$l_bottle,$h_cap,$l_cap);
        }elseif($l_bottle>=2){
            $this->bottle($total,$h_bottle,$l_bottle,$h_cap,$l_cap);
        }else {
            echo $total;
        }
    }

    //兑换瓶盖
    public function cap($total,$h_bottle,$l_bottle,$h_cap,$l_cap){
        //新增啤酒数量
        $m_beer = floor($l_cap/4);
        $h_cap +=($m_beer*4);
        $total += $m_beer;
        $l_cap = $total - $h_cap;
        $l_bottle += $m_beer;
        //判断酒瓶是否够换新酒
        if($l_bottle>=2){
            //echo $l_bottle;exit();
            $this->bottle($total,$h_bottle,$l_bottle,$h_cap,$l_cap);
        }elseif($l_cap>=4){
            $this->cap($total,$h_bottle,$l_bottle,$h_cap,$l_cap);
        }else{
            echo $total;
        }

    }
}
$all = new Index();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值