手记

递归,指在当前方法内调用自己的这种现象,注意要有一个跳出的条件

/*
 * 不死神兔
 *  有一对兔子假设不死,
 *  从第三个月开始每个月生一对小兔子,小兔子三个月后每个月也生一对兔子。。。
 * 第一个月 1对
 * 第二个月 1对
 * 第三个月 2对
 * 第四个月 3对
 * 第五个月 5对
 * 第六个月 8对
 *规律:除了第一个月和第二月以外,其余每个月都是前两个月之和
*   求第20个月有多少对兔子?
*/
public class BuSiRabbit {
    public static void main(String[] args) {

        int result = method(20);//求第n个月有多少对兔子
        System.out.println(result);
    }
    public static int method(int n) {
       //如果是第一个月和第二个月就 都只有一对兔子
        if(n==1||n==2) {
            return 1;
        }
        //如果不是第一个月和第二个月,则兔子的数量是前两个月之和
        return method(n-1)+method(n-2);
    }
}
0人推荐
随时随地看视频
慕课网APP