【手把手带你刷好题】——25.换酒问题(模拟、思维)

简介: 换酒问题

【前言】

今天是刷题打卡第25天!

美好的一天从刷题开始,加油啦!


原题:换酒问题(模拟、思维)

题目描述:

小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。

如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。

请你计算最多能喝到多少瓶酒。

示例1:

输入:numBottles = 9, numExchange = 3
输出:13
解释:你可以用 3 个空酒瓶兑换 1 瓶酒。
所以最多能喝到 9 + 3 + 1 = 13 瓶酒。

示例2:

输入:numBottles = 15, numExchange = 4
输出:19
解释:你可以用 4 个空酒瓶兑换 1 瓶酒。
所以最多能喝到 15 + 3 + 1 = 19 瓶酒。

思路:

如果有b 瓶酒,并且规定e 个空瓶换一瓶酒,首先我们一定可以喝到 b 瓶酒,剩下 b 个空瓶。接下来我们可以拿瓶子换酒,每次拿出 e 个瓶子换一瓶酒,然后再喝完这瓶酒,得到一个空瓶。以此类推,我们可以统计得到答案。

代码执行:

int numWaterBottles(int numBottles, int numExchange){
    int bottle = numBottles;//空瓶子的数量
    int ans = numBottles;//总共喝的酒
    while(bottle >= numExchange)//空瓶子只要大于numExchange,循环就要继续
    {
        bottle -= numExchange;
        ans++;
        bottle++;
    }
    return ans;
}

结语

今天是刷题打卡第25天!

加油啦,不负韶华!

 

相关文章
|
算法 Java C语言
面试题精选:求根号2简单?高级算法你肯定不会(2)
这篇博客从立题到完成经历了好几天的时间,期间整理思路、编码、绘图、查阅资料、修改完善总累计耗时近8h。写作不易,如果文章对你有用欢迎素质三连(点赞、收藏加关注) 。
70 1
|
算法 Java 测试技术
面试题精选:求根号2简单?高级算法你肯定不会(1)
开始大家都以为这个算法是游戏的开发者Carmack发现的,但后来调查发现,该算法在这之前就在计算机图形学的硬件与软件领域中有所应用,如SGI和3dfx就曾在产品中应用此算法,所以至今都无人知晓这个算法是谁发明的。
64 1
|
8月前
|
存储 安全 API
精选8道ES高频面试题和答案,后悔没早点看。
不要再干巴巴的背诵八股文了,一定要结合具体场景回答面试问题!
137 0
|
算法 搜索推荐 程序员
一文学会算法复杂度分析,面试再也不用愁了。
一文学会算法复杂度分析,面试再也不用愁了。
|
算法 图形学
面试高频题之三-洗牌算法
面试高频题之三-洗牌算法
|
搜索推荐 算法 测试技术
|
算法 搜索推荐
谈一谈|对小白学习算法的建议
谈一谈|对小白学习算法的建议
97 0
|
算法 C++
【每日算法Day 75】字节跳动面试题:手撕困难题,看过我Day 71的人都会做了!
【每日算法Day 75】字节跳动面试题:手撕困难题,看过我Day 71的人都会做了!
113 0
|
缓存 Oracle NoSQL
【面试1v1实景模拟】Spring事务经典面试场景,全方位解读面试官心理,助你面试入坑~
【面试1v1实景模拟】Spring事务经典面试场景,全方位解读面试官心理,助你面试入坑~
169 0
|
缓存 小程序 测试技术
建议收藏!初级软件测试面试题及题库答案,你肯定用得上
软件测试的面试过程中,面试官往往都会根据你面试的职位,提问一些相关的软件测试知识,而很多人为了能够提高的自己在面试当中的通过率,都会在面试前做好充足的准备。
531 0