File size: 1,044 Bytes
0284885
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package Case3_package;

public class Test {
    public static void main(String[] args) {
        /*
        有一堆桃子,猴子第一天吃了其中的一半,并多吃了一个;
        以后每天猴子都吃当前剩下来的一半,然后再多吃一个,
        第10天的时候(还没吃),发现只剩下一个桃子了。请问,最初总共多少个桃子?
            day10:1
            day9:(day10 + 1) * 2 = 4

        1、出口
            day == 10   剩下1
        2、规律
            每一天的桃子数量都是后一天数量+1,乘以2
         */

        System.out.println(getCount(1));
    }

    public static int getCount(int day) {
        if (day <= 0 || day >= 11) {
            System.out.println("当前时间错误");
            return -1;
        }

        //递归的出口
        if (day == 10) {
            return 1;
        }

        //书写规律
        //每一天的桃子数量都是后一天数量+1,乘以2
        return (getCount(day + 1) + 1) * 2;
    }
}