package com.javaeye.aspnetdb;
/**
*
* @author aspentdb
* @url www.aspnetdb.iteye.com
* 问题描述:
* 有1000瓶汽水,每喝完一并得到一个空瓶子,每3个空瓶子可以换1瓶汽水,
* 喝掉以后又得到一个空瓶子,问总共能喝多少瓶汽水,最后还剩余多少个空瓶子。
*
*/
public class Drinks {
public static void main(String[] args) {
new Drinks().Method1(1000, 3);
new Drinks().Method2(1000, 4);
}
/**
*
* @param iTotalNum 初始汽水的数量
* @param iRoleNum 空瓶子换汽水的规则
*
* 此种方法是一边喝一边换
*/
public void Method1(int iTotalNum, int iRoleNum) {
if(iRoleNum <= 0)
{
System.out.println("规则错误!");
return;
}
int drinknum = 0; //喝掉汽水的数量
int emptyNum = 0; //空瓶子的数量
while(iTotalNum > 0) {
iTotalNum --;
drinknum ++;
emptyNum ++;
if(emptyNum % iRoleNum == 0)
{
iTotalNum ++;
emptyNum -= 3 ;
}
}
System.out.println("一共喝掉" + drinknum + ";还是" + emptyNum + ";个空瓶子");
}
/**
*
* @param iTotalNum 初始汽水的数量
* @param iRoleNum 空瓶子换汽水的规则
*
* 喝完所有汽水,再一起换汽水
*/
public void Method2(int iTotalNum, int iRoleNum) {
if(iRoleNum <= 0)
{
System.out.println("规则错误!");
return;
}
int drinknum = 0; //喝掉汽水的数量
int emptyNum = 0; //空瓶子的数量
while(iTotalNum > 0) {
drinknum += iTotalNum; //喝掉所有汽水
emptyNum += iTotalNum; //汽水变成空瓶子
iTotalNum = emptyNum/iRoleNum; //空瓶子换新汽水
emptyNum -= iTotalNum*3; //换掉当前的空瓶子
}
System.out.println("一共喝掉" + drinknum + ";还是" + emptyNum + ";个空瓶子");
}
}
问题来源和代码实现参考《Java编程那些事儿》
分享到:
相关推荐
解决小明喝汽水问题 为了以后扩展方便,我还是做成了一个maven工程和一个maven模块的目录结构。 与spring进行整合,使用起来更加方便。 问题描述: 1、小明手上有50元钱; 2、1元钱可以买一瓶饮料; 3、2个空瓶可以...
《小学数学数学故事数学童话北游记5八戒喝汽水》这个故事是将数学问题融入到了有趣的故事情境中,旨在帮助小学生理解和运用数学知识。在这个故事中,主要涉及了货币计算、数量关系和推理思维等数学概念。 首先,...
#### 2.1 喝汽水问题 这是一个典型的动态规划问题,旨在计算给定一定数量的空瓶,通过交换能够获得的最大汽水数量。 - **问题描述**:某商店规定可以用三个空瓶换取一瓶新的汽水,现在给出了一定数量的空瓶,计算...
小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一...
智力题5(喝汽水问题)是一个涉及数学和经济思维的问题。通过分析每一轮的汽水与空瓶的兑换关系,找出最优的消费策略,从而最大化汽水的消费数量。这个问题要求解题者具有良好的数学计算能力和经济成本分析能力。 ...
5. **喝汽水问题**:这个问题涉及到交换和最大化利用资源。初始20元可买20瓶汽水,喝完后有20个空瓶,可以换10瓶,再喝完9瓶换1瓶加1个空瓶,共喝了30瓶。再用剩下的2个空瓶和新产生的1个空瓶换1瓶,喝完后又剩1个...
幼儿园小班科学活动教案《小熊喝汽水》润新教育.txt
- **喝汽水问题**:通常与消费行为分析有关。 - **分割金条**:涉及几何分割、最优解寻找等问题。 - **鬼谷考徒**:此类问题可能涉及古代文化和智慧故事。 - **舀酒难题**:可能与容器容量、液体转移等相关。 - **五...
【活动主题】:本次中班科学活动以"制作好喝的汽水"为主题,旨在让孩子们通过实际操作,了解汽水的制作原理,同时激发他们的探索兴趣和动手能力。 【科学知识】: 1. **二氧化碳气体**:汽水中的关键成分就是二...
喝汽水问题 数组全排列 工厂模式 抽象工厂模式 单例模式 建造者模式 原型模式 适配器模式 算法 矩阵顺序输出 输入一个矩阵,按照从外向里已顺时针依次打印出每个数字,例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
幼儿园教案2021-中班科学活动:制作好喝的汽水.doc
c程序问题:1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶
通过上述分析,我们可以看到此代码片段有效地解决了“给定金额下最多能喝到多少瓶啤酒”的问题。递归函数`GetCount`的设计巧妙地实现了对空瓶和瓶盖的有效利用,从而使得计算过程简洁明了。此外,通过简单的主函数...
1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶.exe
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。要求: (1) 用递归的方法计算能喝到的啤酒数目。 (2) 函数的原型为 int getNum(int n); (3) 不能定义全局变量。
此示例说明了如何分析来自仪器化汽水机的数据,以回答诸如一天中哪个时间喝汽水最多以及哪种饮料向 MathWorkers 提供最多咖啡因等问题。 此示例要求用户首先安装 ThingSpeak 的 MATLAB 支持,可在此处获得: ...
这种效果模拟了用户浏览页面时,仿佛在慢慢喝汽水,汽水液面随着滚动条的移动而变化。 首先,我们需要了解这个效果的基本原理。瓶子图像通常由瓶口、瓶身、吸管和瓶底等多个部分组成,这些部分的内部是透明的,以便...
12. 汽水问题:如果20元买汽水,喝完20瓶后,有20个空瓶,可以换10瓶汽水。喝完10瓶,有10个空瓶,可换5瓶。喝完5瓶,4个空瓶换1瓶,喝完这1瓶,剩3个空瓶。再向店主借1个空瓶,凑齐4个换1瓶,喝完后归还店主那个借...
### 知识点二:空瓶换汽水问题 #### 题目描述: 如果1元钱可以买1瓶汽水,喝完后可以用2个空瓶换取1瓶汽水。若花费20元购买汽水,最多能喝到多少瓶汽水? #### 解析: 这个问题实际上是在考察等价交换和递归思维。...