斐波那契数列指的是这样一个数列 0, 1, 1, 2,3, 5, 8, 13, 21, 34, 55, 89, 144, ...对于这个数列只能说将兔子生产周期第为3月,如果生成周期变成4月这个数列肯定不是这样的,或者说兔子还有死亡周期,在这里我是对兔子生产周期没有限定,只要月份大于生产周期都可以计算出第month月份到底能产生多少对兔子。

Java兔子繁殖问题

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

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

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

第一个月小兔子没有繁殖能力,所以还是一对

两个月后,生下一对小兔对数共有两对

三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对。

------

依次类推可以列出下表:

幼仔对数=前月成兔对数

成兔对数=前月成兔对数+前月幼仔对数

总体对数=本月成兔对数+本月幼仔对数

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

这个数列是意大利中世纪数学家斐波那契在中提出的,这个级数的通项公式,除了具有a(n+2)=an+a(n+1)的性质外,还可以证明通项公式为:an=(1/√5)*{[(1+√5)/2]^n-[(1-√5)/2]^n}(n=1,2,3.....)。

如果兔子要第四个月才开始生产小兔子,那么结构图应该变成这样

以上这些算法都没有应用到面向对象的思维方式去解决,如果生成周期变成4月这个数列肯定不是这样的,或者说兔子还有死亡周期,在这里我是对兔子生产周期没有限定,只要月份大于生产周期都可以计算出第month月份到底能产生多少对兔子。实际中可以将兔子定于为一个Rabbit对象,将其生产周期、死亡周期定义为属性,可能这个能有更好的效果。

java斐波那契数列兔子_Java 兔子问题(斐波那契数列)扩展篇相关推荐

  1. java中去除文件名的后缀名_Java程序在最后一个点后去除其扩展名的文件名

    该方法removeExtension()用于在最后一个点后去除扩展名的文件名.该方法需要一个参数,即文件名,并且返回不带扩展名的文件名. 演示此的程序如下所示- 示例import java.io.Fi ...

  2. JAVA实现斐波那契数列(古典兔子问题)

    初学java的一个练手.这里没有用到前两项和等于第三项的性质. 问题://有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子假如兔子都不死,问每个月的兔子对数为多 ...

  3. Java 鸡翁一值钱五Java_Java案例5:斐波那契数列,百钱百鸡

    1.斐波那契数列(不死兔子) public class Fbql { public static void main(String[] args) { // TODO Auto-generated m ...

  4. 兔子生兔子之递归问题(递归实现斐波那契数列)

    今天给大家带来一个经典题,斐波那契数列,题目如下: //题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,//小兔子长到第三个月后每个月又生一对兔子.假如兔子都不死,要求根据输入的月份输出对应兔 ...

  5. 兔子繁殖问题(斐波那契数列c语言版)

    问题描述 兔子繁殖问题是一个经典的c语言问题,其大概内容如下: 著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对 ...

  6. c语言斐波那契数列递归数组,c语言斐波那契数列递归法

    斐波那契数列递归 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&quo ...

  7. python编写递归函数、求斐波那契数列_利用Python实现斐波那契数列的方法实例

    今天我们来使用Python实现递归算法求指定位数的斐波那契数列 首先我们得知道斐波那契数列是什么? 斐波那契数列又叫兔子数列 斐波那契数列就是一个数列从第三项开始第三项的值是第一项和第二项的和依次类推 ...

  8. python利用列表计算斐波那契数列前30项_python斐波那契数列的计算方法

    题目: 计算斐波那契数列.具体什么是斐波那契数列,那就是0,1,1,2,3,5,8,13,21,34,55,89,144,233. 要求: 时间复杂度尽可能少 分析: 给出了三种方法: 方法1:递归的 ...

  9. 斐波拉契数列前n项和 斐波拉契数列第n项

    此篇题解不为别的,纯属纪念,纪念一个已经且也许永远淡出我生活的人... 记不清是大二还是大三了,只记得在教四304实验室,你教我如何用矩阵快速幂来求解斐波拉契数列的第n项,然后考我怎么用类似的方法计算 ...

  10. 斐波那契回调线怎么画_斐波那契回调线的口诀-斐波那契数列k线图解。

    斐波那契回调线 斐波那契数列的通项公式? 斐波那契数列的求和公式?有么 求教1.斐波那契回调线的高点和低点怎样确定比较好?在多大的一个区间内确定. 新人提问:您知道斐波那契回调线的正确方法吗? 选择股 ...

最新文章

  1. java插件化_Java插件化开发
  2. 工具 - MyEclipse算法机最新8.6forSpring有效
  3. Long Number
  4. audio标签不展示_设计标签式PPT:排版简洁明了,强烈信息秩序感,你想试试吗?...
  5. Java 注解:@PostConstruct和@PreConstruct
  6. 面向对象真的需要继承吗?
  7. JQuery + XML作为前后台数据交换格式实践
  8. 计算机应用技术班级鉴定,大学班级的鉴定评语(精选50条)
  9. linux里netstat与ps,理解proc目录与linux进程、ps命令、netstat命令的关系
  10. Mahout学习笔记-分类算法之Decision Forest
  11. 桌面计算机最小化,电脑不显示最小化窗口怎么办win7
  12. 基于Docker部署OpenLDAP,同时集成第三方系统(GitLab、JIRA、Nexus、Harbor)
  13. 悬浮窗——判断及跳转(包含OPPO 5.1 系统等)
  14. Tampermonkey中文文档
  15. 阿里云视频点播(VOD)控制台上传慢解决方案
  16. 从0开始实现目标检测——原理篇
  17. EChat(简易聊天项目)三、聊天界面UI实现
  18. 遇到100万行的 Excel,还没打开,电脑和我都崩溃了,该怎么办?
  19. SQL查询最大在线人数(通用方法)
  20. BZOJ4411 - [Usaco2016 Feb]Load balancing

热门文章

  1. 【产品经理】003-梁宁·产品思维30讲-机会判断(未完待续)
  2. BigDecimal.ROUND_HALF_EVEN (银行家算法)
  3. 基于C#和OpenVINO在英特尔独立显卡上部署PP-TinyPose模型
  4. 项目中用setTimeout代替setInterval
  5. react项目-uncaught at check call: argument fn is undefined
  6. 安装和使用openBMC官网维护的qemu
  7. 博客左侧导航栏添加打赏功能(添加微信赞赏码)
  8. 黎曼猜想 量子计算机,理解黎曼猜想(一)背景
  9. TFTP文件传输NFS挂载ARM开发板移植Linux系统步骤
  10. Redis集群 install安装