兔子繁殖問題(斐波拉契)


題目:如果1對兔子每月能生1對小兔子,而每對小兔在它出生后的第3個月就可以生1對小兔子,如果從1對初生的小兔子開始,1年后能繁殖多少兔子?

思路:其實這個問題我們可以將兔子划分為"1月大的兔子","2月大的兔子","3月大的兔子"。 ① 初始時: 一對1月大小兔子,總數為1對。 ② 第一個月: 1月大的小兔子變成2月大的兔子,總數還是1對。 ③ 第二個月: 2月大的小兔子變成3月大的兔子,繁殖了一對小兔子,總數為2對。 ④ 第三個月: 3月大的兔子tmd有生了一對小兔子,上個月1月大的小兔子變成了2月大的兔子,總數為3對。 ...... ...... F0=1 F1=1 F2=F0+F1 F3=F1+F2 ...... Fn=Fn-2+Fn-1

C++ 實現

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    int month[12];
    month[0] = 1;
    month[1] = 1;
    for(int i=2;i<12;i++){
        month[i] = month[i-1] + month[i-2];
    }
    for(int i=0;i<12;i++){
        cout<<"在第"<<i<<"個月兔子有"<<setw(4)<<month[i]<<setw(4)<<"只"<<endl;
    }
    return 0;
}

運行結果

在第0個月兔子有    1  只
在第1個月兔子有    1  只
在第2個月兔子有    2  只
在第3個月兔子有    3  只
在第4個月兔子有    5  只
在第5個月兔子有    8  只
在第6個月兔子有   13  只
在第7個月兔子有   21  只
在第8個月兔子有   34  只
在第9個月兔子有   55  只
在第10個月兔子有  89  只
在第11個月兔子有 144  只


免責聲明!

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



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