https://leetcode.com/problems/water-bottles/description/ Easy

Условие

Даны два целых числа numBottles и numExchange. numBottles — исходное количество полных бутылок воды. За numExchange пустых бутылок можно обменять одну полную. Требуется вернуть максимально возможное число бутылок, которые вы сможете выпить.

Решение

class Solution {
    fun numWaterBottles(numBottles: Int, numExchange: Int): Int {
        var total = numBottles
        var empties = numBottles
        while (empties >= numExchange) {
            val newFull = empties / numExchange
            total += newFull
            empties = newFull + (empties % numExchange)
        }
        return total
    }
}