<? echo "每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。n元最多可喝多少瓶啤酒?<br/>"; for ($i=0; $i<=100 ; $i++) { $x=$i; $n=floor($x/2); //喝的酒数量 $s=$x%2; //剩余钱数 $a=floor($x/2); //酒瓶 $b=floor($x/2); //酒盖 echo $x."元钱:".hejiu($n,$a,$b).";剩余:".$s."元;<br/>"; } /* $x=10; $a=floor($x/2); //酒瓶 $b=floor($x/2); //酒盖 $n=floor($x/2); //喝的酒数量 echo $x."元钱:"; echo hejiu($n,$a,$b); */ function hejiu($n,$a,$b){ while ($a>=2 || $b>=4) { if ($a>=2 && $b >=4) { $n = $n + floor($a/2) + floor($b/4); $c = ($a%2) + floor($a/2) + floor($b/4); $d = ($b%4) + floor($a/2) + floor($b/4); } else if ($a>=2 && $b<4) { $n = $n + floor($a/2); $c = ($a%2) + floor($a/2); $d = $b + floor($a/2); } else if ($a<2 && $b>=4) { $n = $n + floor($b/4); $c = $a + floor($b/4); $d = ($b%4) + floor($b/4); } $a = $c; $b = $d; } //如果可以两个瓶盖换算成一个空酒瓶,再进行换酒,则在加上下面的代码 /*while ($b>=2) { $n = $n + floor((floor($b/2) + $a)/2); $c = (floor($b/2) + $a)%2 + floor((floor($b/2) + $a)/2); $d = $b%2 + floor((floor($b/2) + $a)/2); $a = $c; $b = $d; }*/ return "可以喝".$n."瓶酒,剩余空瓶:".$a.";剩余瓶盖:".$b; }
每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。n元最多可喝多少瓶啤酒?
0元钱:可以喝0瓶酒,剩余空瓶:0;剩余瓶盖:0;剩余:0元;
1元钱:可以喝0瓶酒,剩余空瓶:0;剩余瓶盖:0;剩余:1元;
2元钱:可以喝1瓶酒,剩余空瓶:1;剩余瓶盖:1;剩余:0元;
3元钱:可以喝1瓶酒,剩余空瓶:1;剩余瓶盖:1;剩余:1元;
4元钱:可以喝3瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
5元钱:可以喝3瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
6元钱:可以喝7瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
7元钱:可以喝7瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
8元钱:可以喝11瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
9元钱:可以喝11瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
10元钱:可以喝15瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
11元钱:可以喝15瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
12元钱:可以喝19瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
13元钱:可以喝19瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
14元钱:可以喝23瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
15元钱:可以喝23瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
16元钱:可以喝27瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
17元钱:可以喝27瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
18元钱:可以喝31瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
19元钱:可以喝31瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
20元钱:可以喝35瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
21元钱:可以喝35瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
22元钱:可以喝39瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
23元钱:可以喝39瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
24元钱:可以喝43瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
25元钱:可以喝43瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
26元钱:可以喝47瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
27元钱:可以喝47瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
28元钱:可以喝51瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
29元钱:可以喝51瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
30元钱:可以喝55瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
31元钱:可以喝55瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
32元钱:可以喝59瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
33元钱:可以喝59瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
34元钱:可以喝63瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
35元钱:可以喝63瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
36元钱:可以喝67瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;
37元钱:可以喝67瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:1元;
38元钱:可以喝71瓶酒,剩余空瓶:1;剩余瓶盖:3;剩余:0元;