7-6 兔子繁衍问题

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

7-6 兔子繁衍问题 (20分)


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


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


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


 输入样例: 30
 输出样例: 9


#include <iostream>
using namespace std;
int rabbit(int n) 
{
  if (n == 1 || n == 2)//1、2月份时只有一对
    return 1;
  else
    return rabbit(n - 1) + rabbit(n - 2);//前两项和等于第三项
}
int main() 
{
    //规律:1.1.2.3.5.8.13...(对数)
  int n;
  cin>>n;
    int i=1;
    for(;;i++)
    {
        if(rabbit(i)>=n)
        break;
    }
    cout<<i;
    return 0;
}
相关文章
|
6月前
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子对数为多少?
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子对数为多少?
100 3
|
2月前
兔子生崽
该程序解决经典的“兔子生崽”问题,假设兔子永不死亡,计算并打印前20个月的兔子总数。通过迭代计算每月兔子数量,采用斐波那契数列规律:1, 1, 2, 3, 5, 8, 13... (从第三个月起,每月数量等于前两个月之和)。程序每两个月输出一次结果,并更新数列中的值。
39 8
|
算法
神奇的兔子数列
努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算法的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~
128 1
神奇的兔子数列
|
算法
趣味算法-神奇的兔子数列
趣味算法-神奇的兔子数列
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生 一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生 一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少
262 0
|
算法 定位技术 C++
【兔年之兔子走迷宫】 用一个小游戏对回溯法进行实现 | C++
简单的来说,算法就是用计算机程序代码来实现数学思想的一种方法。学习算法就是为了了解它们在计算机中如何演算,以及在当今的信息时代,它们是如何在各个层面上影响我们的日常生活的,从而提高我们的逻辑思维能力和处理实际问题的能力。善用算法、巧用算法,是培养程序设计逻辑的重中之重,许多实际的问题都可用多个可行的算法来解决, 但是要从中找出最优的解决算法却是一项挑战。
554 6
【兔年之兔子走迷宫】 用一个小游戏对回溯法进行实现 | C++
7-27 兔子繁衍问题(15 分)
7-27 兔子繁衍问题(15 分)
80 0