今天父母刷朋友圈看到了这个似乎是小学奥数的一道题目
与我争辩了一番 于是乎我用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();