斐波那契数列(Java)

2019-12-02 16:07:02来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

斐波那契数列(Java)

一、什么是斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1,1,2,3,5,8,13,21,34,……1,1,2,3,5,8,13,21,34,……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,F(n)=F(n?1)+F(n?2)(n>=3,n∈N?)

二、Java实现(输出前20项)

1.循环写法

package com.company;

class Fibonacci{
    public void output(int previous , int latter , int sum){
        for(int i = 1 ; i <= 18 ; i ++){
            sum = previous + latter;
            System.out.println("第"+(2+i)+"项是:"+sum);
            previous = latter;
            latter = sum;
        }
    }
}

public class Test {
    public static void main(String[] args) {
        int previous = 1;
        int latter = 1;
        int sum = 0;
        System.out.println("第1项是:"+previous);
        System.out.println("第2项是:"+latter);

        Fibonacci fb = new Fibonacci();
        fb.output(previous,latter,sum);
    }
}

2.递归写法

package com.company;

class Fibonacci{
    public int output(int num){
        if(num == 1 || num == 2){
            return 1;
        }else{
            return output(num-1) + output(num-2);
        }
    }
}

public class Test {
    public static void main(String[] args) {
        Fibonacci fb = new Fibonacci();
        for(int i = 1 ; i <= 20 ; i ++){
            System.out.println("第"+i+"项为:"+fb.output(i));
        }
    }
}

输出结果

第1项为:1
第2项为:1
第3项为:2
第4项为:3
第5项为:5
第6项为:8
第7项为:13
第8项为:21
第9项为:34
第10项为:55
第11项为:89
第12项为:144
第13项为:233
第14项为:377
第15项为:610
第16项为:987
第17项为:1597
第18项为:2584
第19项为:4181
第20项为:6765

原文链接:https://www.cnblogs.com/Timesi/p/11969932.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:HashMap面试题,看这一篇就够了!

下一篇:Java异常处理只有Try-Catch吗?