兔子繁殖问题:题目描述
有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?

输入描述:
输入int型表示month

输出描述:
输出兔子总数int型

基本思路:
这是一个递归问题,从第一个月开始每个月兔子的数目为:1,1,2,3,5,8,13…,可以看出从第三个月开始,每个月兔子的数目是前两个月兔子的数目的和,用数学表示为F(month)
= F(month-1)+F(month-2)。

C语言递归算法

/*兔子繁殖问题本题来自于一个有趣的古典数学问题:有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。如果生下的所有兔子都能成活,且所有的兔子都不会因年龄大而老死,问每个月的兔子总数为多少?
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{int month;int rabbit(int);printf("请输入第几个月数:\n");scanf("%d",&month);rabbit(month);printf("第%d月的兔子总数为:%d\n",month,rabbit(month));system("pause");return 0;}
int rabbit(int month)
{if(month==1||month==2)return 1;elsereturn rabbit(month-1)+rabbit(month-2);}

递归的优缺点:

**优点:**递归的使用可以使代码更简洁清晰,可读性更好(对于初学者到不见得),
**缺点:**但由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多,而且,如果递归深度太大,可能系统资源会不够用。

递归——兔子繁殖问题相关推荐

  1. 经典递归——兔子繁殖问题

    题目: 已知有一对兔子,每个月可以生一对兔子,而小兔子一个月后又可以生一对小兔子(比如:2月份出生的小兔子4月份可以生育).也就是说,兔子的对数为:第一个月1对,第二个月2对,第三个月3对,第四个月5 ...

  2. C语言/C++常见习题问答集锦(六十四) 之兔子繁殖(递归与非递归)

    C语言/C++常见习题问答集锦(六十四) 之兔子繁殖(递归与非递归) 程序之美 1.C语言,计算1乘以3×5*-乘n的积,并输出结果,n值由键盘接收. #include<stdio.h>v ...

  3. 【C递归和迭代】兔子繁殖问题、青蛙跳台阶问题和汉诺塔问题

    ⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏+留言 ⭐系列专栏:C语言初阶 ⭐代码仓库:C Advanced 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们 ...

  4. 兔子繁殖问题(python递归解决)

    兔子繁殖问题 古典问题:有一-对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个服生一对兔子,假如兔子都不死,用户输入-一个月份数,计算并在- - -行内输出该月的兔子总对数以及前 ...

  5. python兔子繁殖问题中如何输出相应月份的数列_斐波那契数列介绍及Python中五种方法斐波那契数列...

    Q:斐波那契数列为何那么重要,全部关于数学的书几乎都会提到? A:由于斐波那契数列在数学和生活以及天然界中都很是有用.html 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequ ...

  6. java 兔子繁殖问题_兔子繁殖问题

    /*兔子繁殖问题. 设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生的兔子从第三个月开始又每个月生一对兔子. 按此规律,并假定兔子没有死亡,20个月后共有多少个兔子?要求编写为控制台程序 ...

  7. java兔子繁殖_兔子繁衍问题 (考虑死亡)

    兔子繁殖问题(考虑兔子会死亡的情况)–java实现 问题描述: 在一片广袤无垠的大草原上,生活一羣兔子:无需考虑性别,每只兔子每年年末都会生2只小兔子,这2只小兔子在第二年年末也会生2只小兔子: 兔子 ...

  8. 兔子繁殖问题。假设有一对小兔子,一个月后成长为一对大兔子,从 第二个月开始,每对大兔子生一对小兔子。不考虑兔子的死亡,求第n个月的兔子总对数

    兔子繁殖问题.假设有一对小兔子,一个月后成长为一对大兔子,从 第二个月开始,每对大兔子生一对小兔子.不考虑兔子的死亡,求第n个月的兔子总对数 int f(int month); int main() ...

  9. 兔子繁殖问题与解决方案

    一.兔子繁殖问题 问题描述: 兔子永远不死: 兔子出生后,两个月(即从它生命中的第三个月开始)达到性成熟: 兔子总是雌雄成对出生.每个月月初,每对性成熟的兔子正好生一对小兔: 计算第n个月的兔子数-- ...

最新文章

  1. 人脸识别领域相关金融标准将出台
  2. Oracle 外连接和 (+)号的用法
  3. 框架源码专题:Mybatis的一级缓存、二级缓存是什么?有什么作用?
  4. adb通过usb连接手机
  5. pytorch(6)--深度置信网络
  6. 【单片机】2.1 AT89S52单片机的硬件组成
  7. 【typecho插件】typecho邮箱插件LoveXXzhoudedi祝福邮箱typecho插件、小周
  8. 三星S5P6818之UBOOT网络配置
  9. Red5与Nginx Rtmp性能对比
  10. Banner是什么意思,网站banner设计与广告怎么做?
  11. 那些只有程序员才能看懂的冷笑话
  12. TSC打印机使用教程终极版(转)
  13. Leetcode 2261. K Divisible Elements Subarrays
  14. Codeforces 1247D. Power Products (logn质因数分解)
  15. halcon初级应用攻略
  16. Eolink 11月企业与产品动态速览!
  17. 苹果双SIM卡+512GB: 明年苹果将发布超大尺寸iPhoneX Plus
  18. 岭回归实现鲍鱼年龄预测 MATLAB实现
  19. Android问题集锦之十五 可笑的unauthorized错误
  20. 4.导出UnityPackage(AssetDatabase.ExportPackage(assetPathName ,fileName ,ExportPackageOptions.Recurse )

热门文章

  1. Win10系统如何调整分区大小?
  2. MM采购定价条件记录表
  3. 人脸检测:经典的VJ人脸检测器(类Harr特征,积分图加速法,级联的Adaboost强分类器)
  4. 操作系统的64位之战
  5. Nginx报错Mixed Content: The page was loaded over HTTPS, This content should also be served over https
  6. 【管培生培养计划】第一个月的培养记录
  7. Python基础,猜成语小游戏
  8. Artoolkit初级研究手札(2008.12.9)
  9. 如何扩展计算机c盘的控件,win7电脑怎么增加c盘空间 电脑增加c盘空间操作方法...
  10. 钣金行业mes解决方案,缩短产品在制周期