1 public static void main(String[] args) {
2 /**
3 * 猴子吃桃问题:
4 * 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,
5 * 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
6 * 以后每天早上都吃了前一天剩下的一半零一个。
7 * 到第10天早上想再吃时,见只剩下一个桃子了。
8 * 问:第一天摘了多少个桃子?
9 */
10 System.out.println("第一天摘了:" + peach(1) + " 颗桃子");
11 }
12 public static int peach(int n){
13 /**
14 * 目标:猴子吃桃
15 * 公式: f(x) - f(x) / 2 = f(x + 1)
16 * 2f(x) - f(x) - 2 = 2f(x + 1)
17 * f(x) = 2f(x + 1) + 2
18 * 求 f(1) = ?
19 * 终结点: f(10) = 1
20 */
21 if (n == 10)
22 return 1;
23 else
24 return 2 * peach(n + 1) + 2;
25 }