基礎演算法-兔子繁殖

來源:互聯網
上載者:User

標籤:null   源碼   blob   string   div   length   數列   blank   []   

古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子,假如兔子都不
死,問每個月的兔子總數為多少?升級版(輸入一個兔子的數量,問最少多少個月可以達到?)

程式分析: 兔子的規律為數列1,1,2,3,5,8,13,21....

也就是說當月兔子的數量=上月個兔子的數量+當月出生量(即三個月前的數量)

public class Arithmetic_rabbit{    public static void main(String[] args){        int index =10;        if(args!=null&&args.length>0){            index = Integer.parseInt(args[0]);        }                //從第一個月開始        int i = 1;        while(getNum(i)<index){            i++;        }        System.out.println(index+"只兔子,至少需要"+i+"個月");
/*查看每個月兔子的數量 for(int i=1;i<=index;i++){ System.out.println("第"+i+"個月,有"+getNum(i)); }*/ } //遞迴,根據上個月的兔子和這個月即將生的兔子獲得這個月兔子的總和 public static int getNum(int month){ if(month==1||month==2){ return 1; }else{ return getNum(month-1)+getNum(month-2); } }}

 源碼

基礎演算法-兔子繁殖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.