ホームページ > バックエンド開発 > PHPチュートリアル > ビールは1本2元で、ワインの空瓶2本または瓶の蓋4つでビール1本と交換できる。 10元でビール何本飲めますか? php

ビールは1本2元で、ワインの空瓶2本または瓶の蓋4つでビール1本と交換できる。 10元でビール何本飲めますか? php

WBOY
リリース: 2016-06-20 12:39:52
オリジナル
1565 人が閲覧しました

//根据题意设定初始变量值//然后 一个while循环去操作//每换得一个瓶子,换的那个减去要做相应的数目//然后喝了啤酒后, 各数量加1//直到不符合要求。跳出循环 1 class Beer{ 2  3     protected $uni_gai      = 4;    //每4个瓶盖1瓶 4     protected $uni_bottle   = 2;    //每两个瓶子换1瓶 5     protected $uni_beer     = 2;    //每瓶2块钱 6     protected $rs           = array();//存取结果 7     protected $total        = 0;      //当前买了啤酒的数量 8     protected $gai          = 0;      //当前有多少个啤酒 9     protected $empty_bottle = 0;      //空瓶子10 11     public function __construct($money){12         $cur = $money / $this->uni_beer;13         $this->total        = $cur;14         $this->gai          = $cur;15         $this->empty_bottle = $cur;16     }17 18     public function run(){19         while($this->gai > 0 || $this->empty_bottle > 0){20             if($this->gai >= $this->uni_gai){21                 $this->deal_num('gai');22             }23             if($this->empty_bottle >= $this->uni_bottle){24                 $this->deal_num('empty_bottle');25             }26 27             $this->check_overflow();28         }29         return $this->rs;30     }31 32     public function deal_num($type){33         if($type == 'gai'){34             $this->gai -= $this->uni_gai;35         }else{36             $this->empty_bottle -= $this->uni_bottle;37         }38         $this->gai++;39         $this->empty_bottle++;40         $this->total++;41     }42     public function check_overflow(){43         if($this->gai < $this->uni_gai && $this->empty_bottle < $this->uni_bottle){44             $this->rs['gai']          = $this->gai;45             $this->rs['total']        = $this->total;46             $this->rs['empty_bottle'] = $this->empty_bottle;47             $this->gai                = 0;48             $this->empty_bottle       = 0;49         }50     }51     public function _print(){52         echo 'gai:', $this->gai;53         echo '<br>';54         echo 'empty_bottle:', $this->empty_bottle;55         echo '<br>';56         echo 'total', $this->total;57         echo '<hr>';58     }59 }60 61 $peer = new Beer(10);62 $rs   = $peer->run();63 print_r($rs);
ログイン後にコピー

出力結果は次のとおりです: Array ( [gai] => 3 [empty_bottle] => 1 [total] => 15 )

3 蓋 ,空き瓶1本、ビール計15本

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート