`
yujianlong1988
  • 浏览: 7323 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

写下我第一个博客 1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水?

 
阅读更多
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

 

分享到:
评论

相关推荐

    C语言 递归实现 函数 一元钱买一瓶啤酒,两个空瓶换一瓶啤酒.问n元钱能喝多少瓶啤酒?

    喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。要求: (1) 用递归的方法计算能喝到的啤酒数目。 (2) 函数的原型为 int getNum(int n); (3) 不能定义全局变量。

    c程序问题:1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶

    c程序问题:1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶

    1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶.exe

    1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶.exe

    在线编程-汽水瓶

    有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一...

    C++计算n元钱可以喝多少瓶啤酒原理及实现

    本问题主要探讨了如何利用C++编程语言来解决一个具体的数学问题:假设每瓶啤酒的价格为2元,用户可以用2个空瓶或者4个瓶盖换取一瓶新的啤酒。基于这些条件,我们需要设计一个算法来计算出给定金额时,用户最多能喝到...

    汽水瓶c语言解答

    一个简单的小程序,有兴趣可以看看,本人新手一枚,望指教

    c语言--c语言网汽水瓶问题

    适合初学者看的汽水瓶问题。

    小学数学数学故事数学童话北游记5八戒喝汽水

    当他们喝完第一轮的汽水后,悟空提出了一个聪明的提议。他观察到包装箱上写着:“三个空瓶可以换一瓶汽水”。他首先将自己和八戒喝过的空瓶集中起来,正好是六个,按照规则换得了两瓶汽水。接着,他向店家借了一个...

    八年级数学趣味题.docx

    - **题目**:1元钱一瓶汽水,喝完后两个空瓶子换1瓶汽水,问:你有20元钱最多可以喝到多少瓶汽水? - **解析**:这是一道综合应用题。首先用20元买20瓶汽水,然后用20个空瓶子换10瓶汽水,此时共有30个空瓶子,再用...

    小学数学经典题集锦.docx

    **题目描述:**1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水? **解析:**通过计算购买汽水和用空瓶换取汽水的过程,可以得出最大喝到的汽水数量。 1. 初始时,用20元购买20瓶...

    学校数学趣味智力题_1.docx

    如果1元钱可以买1瓶汽水,喝完后可以用2个空瓶换取1瓶汽水。若花费20元购买汽水,最多能喝到多少瓶汽水? #### 解析: 这个问题实际上是在考察等价交换和递归思维。解决方案如下: 1. **第一步**:初始状态下,...

    逻辑推理面试题.docx

    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个...

    湖南省第六届大学生计算机程序设计竞赛.pdf

    然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 知识点: *_python基础知识:变量、数据类型、运算符、控制结构等 *...

    小学数学数学故事一只空汽水瓶

    为了验证这一推理,和彦回到案发现场,仔细查看了现场遗留下的汽水瓶。他注意到,如果汽水含有天然的糖分,那么理应吸引更多蚂蚁。然而,他却发现现场的蚂蚁并不如预期那样多。这让他怀疑现场的汽水瓶可能并非真正的...

    最全的IT面试题(嵌入式)

    - **题目描述**:1元一瓶汽水,喝完两个空瓶可兑换一瓶新汽水,问20元最多能喝到多少瓶汽水? - **解答思路**: - 最初20元买20瓶汽水; - 剩下的20个空瓶可以兑换10瓶汽水; - 之后的空瓶可继续兑换,直至无法...

    一些关于笔试智力题很好的

    初始20元可买20瓶汽水,喝完后有20个空瓶,可以换10瓶,再喝完9瓶换1瓶加1个空瓶,共喝了30瓶。再用剩下的2个空瓶和新产生的1个空瓶换1瓶,喝完后又剩1个空瓶,再借1个空瓶,换1瓶喝掉,归还空瓶。所以一共喝了31瓶...

    小学数学100道智力题.doc

    6. 题目17:如果1元可以买一瓶汽水,2个空瓶可以换1瓶汽水,那么20元可以买20瓶,用18个空瓶换9瓶,再用8个空瓶换4瓶,剩下的2个空瓶不足以再换一瓶,总共能喝到\(20 + 9 + 4 = 33\)瓶。 7. 题目18:这是一个数列...

Global site tag (gtag.js) - Google Analytics