黑马程序员技术交流社区

标题: 算法之酒瓶问题 [打印本页]

作者: blueblueblue    时间: 2016-9-12 14:32
标题: 算法之酒瓶问题
问题是许多人从小就接触到的:三个空瓶可以换一瓶酒,如果一次买N瓶酒,求一共可以喝到多少瓶酒?
代码如下,求指点:
[Java] 纯文本查看 复制代码
public class Test9_bottle {
        public static void main(String[] args) {
                System.out.println(fun1(7));
        }

        public static int fun1(int p) {
                int sum = 0;
                if (p != 0) {
                        sum += p + fun2(p);
                }
                return sum;
        }

        public static int fun2(int g) {
                int count = 0;
                if (g == 2 || g == 3) {
                        count++;
                } else if (g > 3) {
                        count += g / 3 + fun2(g / 3 + g % 3);
                }
                return count;
        }
}


那么问题来了,反着怎么求?即:如果想喝到M瓶酒,最少需要买几瓶?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2