我是靠谱客的博主 清秀项链,最近开发中收集的这篇文章主要介绍兔子问题(斐波那契数列),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有这样一个有趣的“兔子问题”:“假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一年后共有多少对兔子?”

分析:第一个月兔子没有繁殖能力,所以还是一对;两个月后生下一对兔子,共有两对;三个月后,老兔子生下一对,小兔子还没有繁殖能力,所以一共是三对,以此类推,可以列出下表


表中1,1,2,3,5,8,13.....构成一个序列,这个数列有一个特点就是前两项之和等于后一项


数学函数定义:


实现:

public class Fibonacci {

    //数组实现
    public static void FbiArray(int n){
        int i;
        int []a = new int[n];
        a[0] = 0;
        a[1] = 1;
        for (i = 2; i < n; i++){
            a[i] = a[i - 1] + a[i - 2];
            System.out.println(a[i]);
        }
    }

    //递归实现
    public static int Fbi(int n){
        if (n < 2)
            return n == 0? 0 : 1;
        return Fbi(n - 1) + Fbi(n - 2);
    }

    //递推实现
    public static int FbiNormal(int n){
        int n1= 1, n2 = 1, ns = 0;
        for (int i = 1; i < n; i++){
            ns = n1 + n2;
            n1 = n2;
            n2 = ns;
        }
        return ns;
    }

}


最后

以上就是清秀项链为你收集整理的兔子问题(斐波那契数列)的全部内容,希望文章能够帮你解决兔子问题(斐波那契数列)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部