原创
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
今天看到别人写的一个关于递归能够解决的喝酒问题,也是算是回顾一下之前学习递归逻辑的一些知识吧
如题,啤酒2元一瓶 4个瓶盖能换1瓶啤酒,2个空瓶也能换1瓶啤酒,问:10元钱最多能喝几瓶酒?
public class AlchoDemo { // 初始化 public static int COUNT = 0; private static void recusion(int money, int cap, int bottle) { if (money >= 2) { money = money - 2; COUNT++; cap++; bottle++; } if (cap >= 4) // 每4个瓶盖喝一瓶 { cap = cap - 3; // 喝一瓶的时候同时产生一个瓶盖喝空瓶子 COUNT++; bottle++; } if (bottle >= 2) // 每2个空瓶喝一瓶 { bottle--; // 喝一瓶的时候同时产生一个瓶盖喝空瓶子 COUNT++; cap++; } if (money