1 元钱买一瓶汽水,两个空汽水瓶换一瓶汽水。现有 20 元钱,问最多可以喝到多少瓶汽水?

答案一:20+10+5+2+ 1+ 1= 39瓶

答案二:20+ 10+ 5+ 2+ 1+ 1+ 1= 40

一开始 20瓶没有问题,随后的 10瓶和 5瓶也都没有问题,接着把 5瓶分成 4瓶和 1瓶,前 4个空瓶再换 2瓶,喝完后 2瓶再换 1瓶,此时喝完后手头上剩余的空瓶数为 2个,把这 2个瓶 换 1瓶继续喝,喝完后把这 1个空瓶换 1瓶汽水,喝完换来的那瓶再把瓶子还给人家即可,所以最多可以喝的汽水数为: 20+ 10+ 5+ 2+ 1+ 1+ 1= 40。但是题目中并没有说可以赊账,因此最后用 1个汽水瓶去换 1瓶汽水严格说并不成立 (如果不允许赊账的话 )。因此 39瓶的答案也可以说得过去。

http://blog.csdn.net/zhoudaxia/article/details/4332390

时间: 2024-08-04 21:04:49

1 元钱买一瓶汽水,两个空汽水瓶换一瓶汽水。现有 20 元钱,问最多可以喝到多少瓶汽水?的相关文章

给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐

package com.Summer_0417.cn; /** * @author Summer * 给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐. */public class Test_Method12 { public static void main(String[] args) { int money = 20, price = 3; // bottle表示每一次购买的可乐瓶数 int bottle = 0; // change表示每次购买完

10元最多可喝多少瓶啤酒?(不可借酒+可借酒)

背景 <爱情公寓5>中有个剧情:每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒.10元最多可喝多少瓶啤酒? 脑海模拟起来的确有点费劲.心算结果是15瓶,而剧情实践居然是20瓶!结合弹幕说的酒吧可能可以借酒,故猜测借酒使最终喝了20瓶. 如果改变拥有的钱数或啤酒价格时,答案又是什么呢? 此时,不禁想用编程的方法解决一下. 思路 分两种情况:酒吧可以借酒:酒吧不可以借酒: 酒吧不可以借酒 此时,当剩余酒盖数<4且剩余空瓶数<2时,计算就结束了 酒吧可以借酒 这种情况比较麻烦,需要考虑1

100元买酒,2元买一瓶,两个空瓶换一瓶,求最后能买多少瓶

最近碰到一道题目.就是关于酒瓶的(100元买酒,2元买一瓶,两个空瓶换一瓶,求最后能买多少瓶). 刚开始没头绪,仔细一想原来不过如此. 经过分析,所能买到的酒瓶等于    最后所有的空瓶数 java代码求解如下: import java.util.Scanner; public class Bottle {         //空瓶数 static int blank=0; //直接能买到的酒瓶数 static int sum=0; public static void main(String[

百钱买百鸡:公鸡5元一只,母鸡3元一只,小鸡1元3只,问100元买100只鸡,问有多少种买法,输出每种买法的结果!

/** * 百钱买百鸡:公鸡5元一只,母鸡3元一只,小鸡1元3只,问100元买100只鸡,问有多少种买法,输出每种买法的结果! * */ public class Test3 { public static void main(String[] args) { int c = 0; for (int a = 0; a < 100; a++) { for (int b = 0; b < 100; b++) { if ((7 * a + 4 * b) == 100) { c++; System.o

php 公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡请求出公鸡,母鸡和小鸡的数目

// 公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡请求出公鸡,母鸡和小鸡的数目. for ($i=0; $i <= floor(100/3); $i++) { // $i表示公鸡的个数 for ($j=0; $j <= floor(100/5); $j++) { $k = 100 - $i - $j; if ($i*3 + $j*5 + $k/3 == 100) { echo '公鸡'.$i.'只; 母鸡'.$j.'只; 小鸡'.$k.'只<br>'; } } }

华为OJ平台——百钱买百鸡问题

题目描述: 元前五世纪,我国古代数学家张丘建在<算经>一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一. 百钱买百鸡,问鸡翁.鸡母.鸡雏各几何? 思路: 这道题很简单,假设鸡翁 i 只, 鸡母 j 只, 则有 i + j + k = 100 5*i + 3*j + k/3 = 100 由以上两个等式我们可以推出: j = 25 - i * 7/4 ; k = 75 + i * 3/4 ; 由于i. j. k 必须是0或正整数,所以 i 必须是4的倍数,因此我们下面的程序中也是

SDUST 软件工程2016-作业4-A 百钱买鸡问题

解决百钱买鸡问题原本并不困难,关键的是这道题对其进行了升级,测试数据太大,传统的解法,像三重循环,二重循环都会导致超时. 这道题正确的解法应该是结合数学方程进行化简,将其转化为1层循环: x+y+z=n ax+by+c/d*z=m 由上述两个方程联立可用其他量表示出y来.从而只需要枚举x就能解决该题. 在求方程之后注意要化简,只有能整除的时候才进行整除.最后与m比较的时候因为c/d的问题,所以等式两边同时乘以d以消除误差. 最后千万不要加上z%d==0的条件,因为例如当3元买12小鸡的时候,实际

啤酒2块一瓶,4个瓶盖可换1瓶,2个空瓶可换1瓶,10块钱可以喝多少瓶?

1.编程的写法: using System; using System.Collections.Generic; using System.Text; namespace SlowX.CalcEgg { class Program { protected static string ShowStr(int theResult, int KP, int PG) { return theResult + "瓶啤酒." + KP + "空瓶." + PG + "

JS-百钱买百鸡案例-for循环制作

<html> <head> <meta charset="utf-8"/> <title></title> <script> //作业:for循环实现百钱买百鸡的问题://公鸡5元一只,母鸡3元一只,小鸡1元3只,100元要买100只鸡?有多少买法? //设:公鸡买x只,母鸡y只,小鸡n只,则,x+y+n==100(只)因为只需要买100只,最多不能超过100只.钱数上:5*x+3*y+3/n==100(元),[切