换酒问题

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

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

请你计算 最多 能喝到多少瓶酒
在这里插入图片描述
在这里插入图片描述
这个题目比较简单,通过图中的示例就可以一步步写出代码

/**
     *
     * @param numBottles     可以喝的酒的数量
     * @param numExchange    多少空瓶可以换一瓶满瓶
     * @return               一共可以喝多少瓶酒
     */
    public int numWaterBottles(int numBottles, int numExchange) {
    
    
        int sum = numBottles;//最开始的瓶子
        while (numBottles >= numExchange){
    
    
            int remain = numBottles % numExchange;//开始剩下不能换的瓶子
            numBottles = numBottles / numExchange;//可以换多少新的酒
            sum += numBottles;//喝了多少瓶
            numBottles += remain;//剩下多少空瓶
        }
        return sum;
    }

猜你喜欢

转载自blog.csdn.net/qq_45376713/article/details/108868200