10.斐波那契列数

斐波那契列数

有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
问第二十个月的兔子对数为多少?

package com.itheima_01;
/*
 *  古典问题:
 *      有一对兔子,从出生后第3个月起每个月都生一对兔子,
 *      小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
 *      问第二十个月的兔子对数为多少?
 *
 *  1
 *  1
 *  2
 *  3
 *  5
 *  8
 *  13
 *
 *  规律:除了第一个月和第二个月以外,其余每个月都是前两个月之和
 *  斐波那契列数
 */
public class RecurrenceDemo2 {
    public static void main(String[] args) {
        int result = method(20);//6765
        System.out.println(result);
    }
    
    public static int method(int n) {
        //如果是第一个月,只有一对儿兔子
        if(n == 1) {
            return 1;
        }
        //如果是第二个月,也只有一对儿兔子
        else if(n == 2) {
            return 1;
        }
        else {
            //如果不是第一个月和第二个月,则兔子的数量是前两个月之和
            return method(n - 1)  + method(n - 2);
        }
    }
}

你可能感兴趣的:(10.斐波那契列数)