1518. 换酒问题
小区便利店正在促销,用 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 瓶酒。
示例 3:
提示:
1 <= numBottles <= 100
2 <= numExchange <= 100
从贪心的方面考虑,因为我们是贪心的,一旦我们的酒瓶够换一瓶酒我们就立刻去换,一直执行直到换不了了为止,也就是酒也喝完了。
代码:
int numWaterBottles(int numBottles, int numExchange){
int res = 0;//储存的是换的酒的个数
for(int i=0;i<numBottles+res;i++)//由i结束条件可知,此循环实现了“把酒全部喝完”才停止
{
if((i+1)%numExchange==0)//够一次换了就去换一次
{
res++;
}
}
int sum = numBottles+res;
return sum;
}