A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© blueblueblue 中级黑马   /  2016-9-12 14:32  /  741 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

问题是许多人从小就接触到的:三个空瓶可以换一瓶酒,如果一次买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瓶酒,最少需要买几瓶?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马