演算法練習2---斐波那契數列java版

來源:互聯網
上載者:User

標籤:問題:   main   ret   span   for   class   10個   out   str   

古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子, 假如兔子都不死,問每個月的兔子總數為多少?

數列:1   1   2   3   5   8   13......

可以總結出公示為F(n)=F(n-1)+F(n-2)

java程式碼實現如下:

public class ArithTest {    public static void main(String[] args) {        ArithTest at = new ArithTest();        // 演算法一:顯示前20個月每月兔子數量        for(int n=1;n<=20;n++){            System.out.println("第"+n+"個月兔子數量為"+at.f(n));        }    /* 演算法一:斐波那契數列     * 古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子, 假如兔子都不死,問每個月的兔子總數為多少?     * 規律:1 1 2 3 5 8 13 ...     * f(n)=f(n-1)+f(n-2)     */    public int f(int n){        if(n==1|n==2){            return 1;        }else{            return f(n-1)+f(n-2);        }    }}

執行結果為:

第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

 

演算法練習2---斐波那契數列java版

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.