斐波那契数列-----兔子繁殖问题

斐波那契数列又因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。

一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?

我们不妨拿新出生的一对小兔子分析一下:

第一个月小兔子没有繁殖能力,所以还是一对
两个月后,生下一对小兔对数共有两对
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对
------
幼仔对数=前月成兔对数
成兔对数=前月成兔对数+前月幼仔对数
总体对数=本月成兔对数+本月幼仔对数

可以看出幼仔对数、成兔对数、总体对数都构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。

依次类推可以列出下图:

斐波那契数列为1、1、2、3、5、8、13、21、34……此数列从第3项开始,每一项都等于前两项之和,递推公式为F(n)=F(n-1)+F(n-2),n≥3,F(1)=1,F(2)=1。
以下为递归方法实现兔子繁殖问题:

#include<stdio.h>
int Fib(int n)
{if (n <=2){return 1;}else{return Fib(n - 1) + Fib(n - 2);//每一项都等于前两项之和}
}
int main()
{int n;scanf("%d", &n);printf("%d\n", Fib(n));return 0;
}

斐波那契数列-----兔子繁殖问题相关推荐

  1. 斐波那契数列---兔子繁殖题

    斐波那契数列-兔子繁殖题 如果说兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来.假设所有兔子都不会死去,能够一直干下去,那么一年以后可决繁殖多少对兔子呢? 斐波那契数列的迭代实现 ...

  2. 斐波那契数列兔子繁殖问题相关思考

    斐波那契数列的一个典型应用就是兔子繁殖问题. 一.最朴素的兔子繁殖问题就是:有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问第n个月的兔子总 ...

  3. OJ1055: 兔子繁殖问题(C语言计算斐波那契数列/“兔子数列”)

    题目描述 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子.按此规律,假设没有兔 ...

  4. 斐波那契数列----兔子问题

    前言 2021年/01/07 我TM可太爱学JAVA了.奥里给!!! 简单搞一搞JAVA,今天的内容主要是方法体,用方法体去就解决一些问题: 1.斐波那契数列,以兔子繁殖为例子而引入,故又称为&quo ...

  5. 斐波那契数列 兔子数列

    斐波那契数列:每一个数都等于前两位数之和 又称兔子数列:有一对兔子从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假设所有兔子不死,问每个月的兔子总数为多少? 下面为循环 ...

  6. c语言 兔子数列螺线图,经典算法大全51例——2.斐波那契数列(兔子数列)

    经典算法大全51例--2.斐波那契数列 算法目录合集 地址 说明 题目 原理分析 代码实现--Java 相关题目其他变形: 1.爬楼梯(来源:力扣LeetCode) 2.兔子成熟期拉长 官方题解 分析 ...

  7. 斐波那契数列——兔子生兔子问题

    题目 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 兔子的规律为数列1,1,2,3,5,8,13,21 ...

  8. 递推算法之斐波那契数列——昆虫繁殖

    昆虫繁殖 问题描述: 科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强.每对成虫过x个月每个月产y对卵,每对卵要过两个月长成成虫.假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的 ...

  9. 利用递归函数求斐波那契数列(兔子序列) 1、1、2、3、5、8、13、21...

    function fb(n) {if (n === 1 || n === 2) {return 1;}return fb(n - 1) + fb(n - 2);}// 用户输入一个数字 n 就可以求出 ...

最新文章

  1. 客户端回传事件接口IPostBackEventHandler
  2. 公众号 关注_微信公众号关注图文跳转网页如何操作实现?
  3. 推荐!国外程序员整理的 C++ 资源大全(https://github.com/fffaraz/awesome-cpp)
  4. linux shell 判断文件是否存在
  5. python编程用户登陆c_django实现用户登陆功能详解
  6. ubuntu 下使用mysql
  7. Linux常用工具小结:(2) Mysql的rpm安装和编译安装
  8. Task.Run Vs Task.Factory.StartNew z
  9. JAVA版的IntHashMap的多个源码
  10. OpenCV-camShift 算法
  11. 前端-html省份、地市级联
  12. 仿微信图片编辑 全网功能最全的图片编辑器
  13. idea中自动生成Java类图和时序图
  14. 2021-07-11 layer与tier的区别(英语)
  15. matlab生成Z为常数的.grd格式数据
  16. html关于圣诞节主题的网页,灵感: 8个以圣诞节为主题的网站欣赏
  17. elementUI 日 周 月 季 年 时间选择控件封装
  18. bcdedit添加linux引导,强大的BCDEdit工具-启动项等相关问题-设置默认开机启动项
  19. 《排列字母》把字符串中的字母按其在字母表中的顺序排列。
  20. 【每日早报】2019/12/31

热门文章

  1. linux环境下的c编程指南,C语言Socket简单编程指南PDF
  2. 如何选淘宝爆款产品和打造单品爆款的方法
  3. 虚拟化平台主流hypervisor工作原理分析
  4. 小陈学js while练习
  5. 如何判断投影坐标是 3 度带还是 6 度带?如何计算中央子午线经度?
  6. 人生是一场修行,修行的结果是个球
  7. 最美应用-从 Android 研发工程师的角度 の 最美时光
  8. qbxt集训cogs2682. 膜拜
  9. 局域网访问IIS express
  10. WPF 3D 摄像机LookDirection属性研究