Java教程

生兔子递归算法

本文主要是介绍生兔子递归算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

生兔子递归算法:

public class RabbitTest {
    public static void main(String[] args) {
        /*
        例题:
        有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少。

        分析:
        该题是典型的斐波那契数列的一个实例应用。
        我们可以先把前几月的兔子数手动算出来寻找规律:
        即:1 1 2 3 5 8…… 13 21 34 55 89 144
        由前几个月的兔子数可以推出:f(n)= f(n-1)+f(n-2) {n 代表月份}
         */
        int month = 12;
        int result = rabbitProduce(month);
        System.out.println(result);
    }

    private static int rabbitProduce(int month) {
        if(month == 1 || month == 2){
            return 1;
        }
        return rabbitProduce(month - 1) + rabbitProduce(month - 2);
    }
}

 

这篇关于生兔子递归算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!