題目:
小區(qū)便利店正在促銷,用 numExchange 個(gè)空酒瓶可以兌換一瓶新酒牺汤。你購入了 numBottles 瓶酒辽旋。
如果喝掉了酒瓶中的酒,那么酒瓶就會(huì)變成空的慧瘤。
請(qǐng)你計(jì)算 最多 能喝到多少瓶酒戴已。
示例 1:
輸入:numBottles = 9, numExchange = 3
輸出:13
解釋:你可以用 3 個(gè)空酒瓶兌換 1 瓶酒。
所以最多能喝到 9 + 3 + 1 = 13 瓶酒锅减。
示例 2:
輸入:numBottles = 15, numExchange = 4
輸出:19
解釋:你可以用 4 個(gè)空酒瓶兌換 1 瓶酒糖儡。
所以最多能喝到 15 + 3 + 1 = 19 瓶酒。
示例 3:
輸入:numBottles = 5, numExchange = 5
輸出:6
示例 4:
輸入:numBottles = 2, numExchange = 3
輸出:2
提示:
1 <= numBottles <= 100
2 <= numExchange <= 100
思路:
首先我們一定可以喝到 b瓶酒怔匣,剩下 b個(gè)空瓶握联。接下來我們可以拿瓶子換酒,b個(gè)空瓶可以換e瓶灑每瞒,余l(xiāng)eft個(gè)空瓶金闽,此時(shí)有空瓶left+e個(gè),再繼續(xù)換酒剿骨。以此類推代芜,我們可以統(tǒng)計(jì)得到答案。
java代碼:
class Solution {
public int numWaterBottles(int numBottles, int numExchange) {
int drink = numBottles;
int emptyBottles = numBottles;
while (emptyBottles >= numExchange) {
int bottles = emptyBottles / numExchange;
int left = emptyBottles % numExchange;
drink += bottles;
emptyBottles = bottles + left;
}
return drink;
}
}