喝可乐问题,2个空瓶换一瓶可乐

商店里可乐一元一瓶,两个空瓶可以换一瓶可乐,有20元,问可以喝到多少可乐

方法一:一次性把可乐喝完,然后拿瓶去换,换完再喝。。。。(兑换剩余的瓶子要收集一下)

		int colaNum = 20;// 最初的可乐数量
		int bootleNum = 0;// 空瓶子的数量
		int drinkNum = 0;// 喝过的数量
		while (colaNum > 0) {// 如果有可乐喝就喝吧
			drinkNum = drinkNum + colaNum;// 一次全部喝掉
			bootleNum = bootleNum + colaNum;// 剩余的瓶子加上刚喝过的瓶子
			colaNum = bootleNum / 2;// 瓶子换成可乐
			bootleNum = bootleNum - colaNum * 2;// 兑换后剩余的瓶子
		}
		System.out.println("一共喝了" + drinkNum + "瓶可乐");
		System.out.println("剩余的瓶子数是:" + bootleNum);

 

方法二:慢慢喝,喝两瓶就去换可乐,直到喝完,思路清晰明了

while (colaNum > 0) {
			colaNum--;
			drinkNum++;
			bootleNum++;
			if (bootleNum == 2) {
				colaNum++;
				bootleNum = 0;
			}
		}
		System.out.println("一共喝了" + drinkNum + "瓶可乐");
		System.out.println("剩余的瓶子数是:" + bootleNum);

 

方法三:把瓶子和可乐都可以用钱来衡量的,同样可以用等式:两个瓶子 = 一个瓶子+液体可乐,所以液体可乐和瓶子是等值的,但是最后一个瓶子不能换到可乐了,所以可以喝到20*2-1瓶液体可乐还剩一个瓶子

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值