斐波纳挈数列的三种求法(java实现)

斐波纳挈数列的三种求法(java实现)

  1. 什么是斐波纳挈数列?
    后一项的数字等于前一项数字加上前一项的前一项的数字.我们称这样的数列为斐波纳挈数列,斐波纳挈数列有个特点,越往后数列的第n与比数列的第n+1项的比值越接近黄金值(0.618几几几~~~).
    所以斐波纳挈数列也被称为黄金数列.
  2. 斐波纳挈数列的三种求法—-直接上代码:
    Java代码:
class Fabonacci 
{
    private int n;
    public Fabonacci(){}
    public Fabonacci(int a)
        {
            n= a;
        }
    /**
    *方法一:迭代     
    */
    public void Print_Fab_n1()
    {
        int f1,f2,f3;
        f1= f2= f3= 1;
        if(n<= 2)
            System.out.println("第"+n+"个斐波那契数是"+1);
        int i= 3;
        while(i++ <= n){
            f3= f1+f2;
            f1= f2;
            f2= f3;
        }
        System.out.println("第"+n+"个斐波那契数是"+f3);
    }
    /**
    *方法二:递归
    */
    public int Print_Fab_n2(int m)
    {
        if(m<= 2)
            return 1;
        return Print_Fab_n2(m-1)+Print_Fab_n2(m-2);
    }

    /**
    *方法三:借用数组存储
    */
    public void Print_Fab_n3()
    {
        int a[]= new int [n+1];
        a[1]= 1;
        a[2]= 1;
        for(int i= 3; i<=n; i++){
            a[i]= a[i-1]+a[i-2];
        }
        System.out.println("第10个斐波那契数是"+a[n]);
    }

    public static void main(String[] args) 
    {
        //方法1的调用
        Fabonacci F1= new Fabonacci(10);
        F1.Print_Fab_n1();
        //方法2的调用
        Fabonacci F2= new Fabonacci();
        int f2= F2.Print_Fab_n2(10);
        System.out.println("第10个斐波那契数是"+f2);
        //方法3的调用
        Fabonacci F3= new Fabonacci(10);
        F3.Print_Fab_n3();
    }
}

以上三种方法是求斐波纳挈数列的方法之三,若有大神还有其他方法望不吝赐教!!!哈哈哈

发布了31 篇原创文章 · 获赞 17 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览