# 1518. Water Bottles

Easy
There are `numBottles` water bottles that are initially full of water. You can exchange `numExchange` empty water bottles from the market with one full water bottle.
The operation of drinking a full water bottle turns it into an empty bottle.
Given the two integers `numBottles` and `numExchange`, return the maximum number of water bottles you can drink.
Example 1: Input: numBottles = 9, numExchange = 3
Output:
13
Explanation:
You can exchange 3 empty bottles to get 1 full water bottle.
Number of water bottles you can drink: 9 + 3 + 1 = 13.
Example 2: Input: numBottles = 15, numExchange = 4
Output:
19
Explanation:
You can exchange 4 empty bottles to get 1 full water bottle.
Number of water bottles you can drink: 15 + 3 + 1 = 19.
Constraints:
• `1 <= numBottles <= 100`
• `2 <= numExchange <= 100`

### 解題

Runtime: 0 ms, faster than 100.00%
Memory Usage: 1.9 MB, less than 97.96%
func numWaterBottles(numBottles int, numExchange int) int {
ans := 0
empty := 0
for numBottles>0 || empty >= numExchange {
ans += numBottles
empty += numBottles
numBottles = empty/numExchange
empty = empty%numExchange
}
return ans
}