斐波纳挈数列的三种求法(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();
    }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值