public class Test { /** * @param args */ public static void main(String[] args) { //20块钱,1块钱买一瓶饮料,2个瓶子换一个饮料的情况 Test tt = new Test("1_1", 2, 20); tt.compute(); //39块钱,4块钱买3瓶饮料,5个瓶子换1个饮料的情况 Test tt2 = new Test("4_3", 5, 39); tt2.compute(); //System.out.println("======扩展===39块钱,4块钱买3瓶饮料,5个瓶子换3个饮料的情况======未实现==="); } public Test(String money_count, int bottleCount, int moneyhave) { super(); this.money_count = money_count; this.bottleCount = bottleCount; this.moneyhave = moneyhave; } /** * 4块钱换3个饮料 * 2个饮料瓶子换1个饮料 * 现在有30块钱 */ /** * 多少钱换多少瓶饮料 * 比如4块钱换3个饮料 */ private String money_count = ""; /** * 多少个瓶子换一瓶饮料 */ private int bottleCount = 0; /** * 你现在拥有多少钱 */ private int moneyhave; /** * service方法,计算你拥有的钱一共可以换多少饮料 * @param moneyhave * @param money * @param count */ public void compute() { String[] moneyAndCount = this.getMoney_count().split("_"); int count = Integer.valueOf(moneyAndCount[1]).intValue(); int money = Integer.valueOf(moneyAndCount[0]).intValue(); int initcount = this.getMoneyhave() * count / money; int leaveMoney = this.getMoneyhave() * count % money; initcount += bottle(initcount, this.getBottleCount()); System.out.println("=========" + this.getMoneyhave() + "块钱," + money + "块钱买" + count + "瓶饮料," + this.getBottleCount() + "个瓶子换一个饮料的情况========="); System.out.println("你一共可以喝多少瓶饮料" + initcount); System.out.println("你还剩多少钱" + leaveMoney); } /** * 算多少个瓶子换多少瓶饮料 * @param bottle * @param bottleCount * @return */ public int bottle(int bottle, int bottleCount) { if (bottle > 1) { int nowbottle = bottle / bottleCount + bottle % bottleCount; return bottle / bottleCount + bottle(nowbottle, bottleCount); } else { return 0; } } public String getMoney_count() { return money_count; } public void setMoney_count(String money_count) { this.money_count = money_count; } public int getBottleCount() { return bottleCount; } public void setBottleCount(int bottleCount) { this.bottleCount = bottleCount; } public int getMoneyhave() { return moneyhave; } public void setMoneyhave(int moneyhave) { this.moneyhave = moneyhave; } }
运行结果
=========20块钱,1块钱买1瓶饮料,2个瓶子换一个饮料的情况=========
你一共可以喝多少瓶饮料39
你还剩多少钱0
=========39块钱,4块钱买3瓶饮料,5个瓶子换一个饮料的情况=========
你一共可以喝多少瓶饮料36
你还剩多少钱1
相关推荐
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。要求: (1) 用递归的方法计算能喝到的啤酒数目。 (2) 函数的原型为 int getNum(int n); (3) 不能定义全局变量。
c程序问题:1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶
1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶.exe
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一...
本问题主要探讨了如何利用C++编程语言来解决一个具体的数学问题:假设每瓶啤酒的价格为2元,用户可以用2个空瓶或者4个瓶盖换取一瓶新的啤酒。基于这些条件,我们需要设计一个算法来计算出给定金额时,用户最多能喝到...
一个简单的小程序,有兴趣可以看看,本人新手一枚,望指教
适合初学者看的汽水瓶问题。
当他们喝完第一轮的汽水后,悟空提出了一个聪明的提议。他观察到包装箱上写着:“三个空瓶可以换一瓶汽水”。他首先将自己和八戒喝过的空瓶集中起来,正好是六个,按照规则换得了两瓶汽水。接着,他向店家借了一个...
- **题目**:1元钱一瓶汽水,喝完后两个空瓶子换1瓶汽水,问:你有20元钱最多可以喝到多少瓶汽水? - **解析**:这是一道综合应用题。首先用20元买20瓶汽水,然后用20个空瓶子换10瓶汽水,此时共有30个空瓶子,再用...
**题目描述:**1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水? **解析:**通过计算购买汽水和用空瓶换取汽水的过程,可以得出最大喝到的汽水数量。 1. 初始时,用20元购买20瓶...
如果1元钱可以买1瓶汽水,喝完后可以用2个空瓶换取1瓶汽水。若花费20元购买汽水,最多能喝到多少瓶汽水? #### 解析: 这个问题实际上是在考察等价交换和递归思维。解决方案如下: 1. **第一步**:初始状态下,...
12. 汽水问题:如果20元买汽水,喝完20瓶后,有20个空瓶,可以换10瓶汽水。喝完10瓶,有10个空瓶,可换5瓶。喝完5瓶,4个空瓶换1瓶,喝完这1瓶,剩3个空瓶。再向店主借1个空瓶,凑齐4个换1瓶,喝完后归还店主那个借...
10. 汽水问题:20元可以买20瓶汽水,然后20个空瓶换10瓶,10个空瓶换5瓶,剩下5个空瓶,4个换1瓶,喝完再用1个空瓶换1瓶,喝完还给商家。所以总共可以喝40瓶。 11. 经理的女儿问题:经理的三个女儿对应三个数字,...
- **汽水瓶问题**:使用20元购买20瓶汽水,再用19个空瓶换9瓶汽水,剩下1个空瓶,然后用8个空瓶换4瓶汽水,剩下1个空瓶,接着用5个空瓶换2瓶汽水,再剩1个空瓶,最后用3个空瓶换1瓶汽水,剩下2个空瓶,再用这2个...
然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 知识点: *_python基础知识:变量、数据类型、运算符、控制结构等 *...
为了验证这一推理,和彦回到案发现场,仔细查看了现场遗留下的汽水瓶。他注意到,如果汽水含有天然的糖分,那么理应吸引更多蚂蚁。然而,他却发现现场的蚂蚁并不如预期那样多。这让他怀疑现场的汽水瓶可能并非真正的...
- **题目描述**:1元一瓶汽水,喝完两个空瓶可兑换一瓶新汽水,问20元最多能喝到多少瓶汽水? - **解答思路**: - 最初20元买20瓶汽水; - 剩下的20个空瓶可以兑换10瓶汽水; - 之后的空瓶可继续兑换,直至无法...
初始20元可买20瓶汽水,喝完后有20个空瓶,可以换10瓶,再喝完9瓶换1瓶加1个空瓶,共喝了30瓶。再用剩下的2个空瓶和新产生的1个空瓶换1瓶,喝完后又剩1个空瓶,再借1个空瓶,换1瓶喝掉,归还空瓶。所以一共喝了31瓶...
6. 题目17:如果1元可以买一瓶汽水,2个空瓶可以换1瓶汽水,那么20元可以买20瓶,用18个空瓶换9瓶,再用8个空瓶换4瓶,剩下的2个空瓶不足以再换一瓶,总共能喝到\(20 + 9 + 4 = 33\)瓶。 7. 题目18:这是一个数列...