斐波那契數列(Java)


一、什么是斐波那契數列

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM