【MAC 上学习 C++】Day 36-4. 实验4-1-10 兔子繁衍问题 (15 分)

实验4-1-10 兔子繁衍问题 (15 分)

1. 题目摘自

https://pintia.cn/problem-sets/13/problems/444

2. 题目内容

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?

输入格式:

输入在一行中给出一个不超过10000的正整数N。

输出格式:

在一行中输出兔子总数达到N最少需要的月数。

输入样例:

30

输出样例:

9

3. 源码参考
#include 

using namespace std;

int fn(int m);

int main()
{
    int n, m;

    cin >> n;
    m = 1;
    while(fn(m) < n)
    {
        m++;
    }

    cout << m << endl;

    return 0;
}

int fn(int m)
{
    if((m == 1)||(m == 2))
    {
        return 1;
    }
    else
    {
        return fn(m - 1) + fn(m - 2);
    }
}

你可能感兴趣的:(【MAC 上学习 C++】Day 36-4. 实验4-1-10 兔子繁衍问题 (15 分))