7-1 兔子繁衍問題(15 分)


7-1 兔子繁衍問題 15

一對兔子,從出生后第3個月起每個月都生一對兔子。小兔子長到第3個月后每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數才可以達到N對?

輸入格式:

輸入在一行中給出一個不超過10000的正整數N。

輸出格式:

在一行中輸出兔子總數達到N最少需要的月數。

輸入樣例:

30

輸出樣例:

9
思路:不得不吐槽一下這個題,到底是第三個月起還是第三個月后生,還有到底數總數達到N還是兔子對數達到N,也是絕了。
正解就是:第三個月起開始生小兔子,然后是當兔子對數達到N,斐波那契數列寫。
第一對兔子是處在第零個月,第一第二個月對數一直是一,第三個月才生了一對小兔子對數等於二,然后以
斐波那契數列寫類推,
#include<iostream>
using namespace std;
int main()
{
    int n; cin >> n;
    int a = 0, b = 1;
    if (n == 1){ 
        cout << "1" << endl; 
        return 0; 
    }

    for (int i = 2;; i++)
    {
        int m = a + b;
        a = b; b = m;
        if (m >= n){
            cout << i << endl;
            break;
        }
    }
    return 0;
}
 
           

 

 


免責聲明!

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



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