一只兔子每三个月生兔子JAVA,兔子生兔子问题

2023-11-12

关于兔子生兔子的算法详解

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔

子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

分析:

第1个月  --  1对

第2个月  --  1对

第3个月 -- 原来的1对 +  新生1对  =  2对

第4个月 --前面存在的3对(即第3个月的数量) +  往后2个月的兔子对生的兔子 1对(即4  - 2  = 2月的兔子对生的兔子对 1对) = 2 + 1 =  3对

第5个月  --第4个月的兔子对数量 (3对) +  第3个月兔子对所生的兔子对(2对,因为兔子出生2个月后可以生兔子) =  3  +  2  = 5

第6个月 --第5个月的兔子对数量 (5对) +  第4个月兔子对所生的兔子对(3对) = 5 + 3 = 8

以此类推

兔子的规律为数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

所以很明显兔子数量为斐波那契数列,下面只需要用代码计算斐波那契数列即可。

public static int feibo(int num){

if ( (num == 1) || (num == 2)){

return 1 ;

}else{

return feibo(num - 1) + feibo(num - 2) ;

}

}

以下为完整java程序:

pub

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一只兔子每三个月生兔子JAVA,兔子生兔子问题 的相关文章

随机推荐

  • 小程序系列:onLoad,onReady和onShow等生命周期函数的区别和使用

    小程序请求这部分 我们发现有onLoad onReady onShow等都可以调用function发送请求 他们之间有什么区别 首先官方文档先甩出来 这些都是微信页面page这个Object的声明周期函数里面的 其实点进去看定义就可以了 毕
  • mysql分片的几种分配策略 - 固定、动态、固动结合、显示分配等

    假设我们要对用户的数据进行分片存储 依据的是用户id 1 关于固定分配 核心是利用哈希函数将输入的id值映射到一个输出值上 这个输出值就直接是分片id 注意这一点很重要 这是与混合分配策略区分的关键 2 动态分配 动态分配不使用哈希函数 而
  • 【Android】ReactNative实现计算器

    简介 大三学生党一枚 主攻Android开发 对于Web和后端均有了解 语录 取乎其上 得乎其中 取乎其中 得乎其下 以顶级态度写好一篇的博客 做IT行业的相信大部分朋友都开发过计算器的小demo 大部分都是基于C Java Python开
  • 前端系列之jQuery(jQuery事件)

    DOM事件模型 DOM 0级事件模型
  • 绝了!一个妹子 rm -rf 把公司整个数据库删没了...

    作者 zhouyu 来源 cnblogs com zhouyu629 p 3734494 html 经历了两天不懈努力 终于恢复了一次误操作删除的生产服务器数据 对本次事故过程和解决办法记录在此 警醒自己 也提示别人莫犯此错 也希望遇到问题
  • JAVA-程序的编译过程及运行过程

    目录 前言 一 Java程序的执行过程 1 编译期 2 运行期 二 小例子 1 进入cmd窗口 2 编译期 3 运行期 总结 前言 在之前我们做了第一个案例 Hello World 案例 也对其进行了详细的解析 HelloWorld案例 详
  • 【数电】理解MOS管的Vth(增强型)

    其实就是 对NMOS来说 栅极底下是P型半导体 有空穴和B 离子 栅衬之间加电压 电子往栅极底下跑 与空穴复合 此时形成耗尽层 虽然因为B 离子的原因带负电 但无法自由移动 当电压超过Vth 多余电子来到栅极底下 可自由移动 形成沟道
  • C或C++项目实战之贪吃蛇

    编译环境 VS2017 VS其他版本皆可 EasyX图形库 编程语言 c c 当前版本 snakeGame1 0 修改时间 2019 6 13 项目组成 5 1 头文件 snake snake h 5 2 源文件 main cpp snak
  • python获取程序运行过程中所需要的时间

    使用python的过程中 需要得知程序从运行开始到结束所需要的时间 可以使用clock 的方法来实现 引入所需要的时间库 import datetime import time 程序计时器 启动计时器 start time clock 中间
  • conda 环境无法激活的问题

    项目场景 提示 这里简述项目相关背景 例如 项目场景 示例 通过蓝牙芯片 HC 05 与手机 APP 通信 每隔 5s 传输一批传感器数据 不是很大 安装anaconda3 pypcharm pycharm解释器使用anaconda3目录下
  • Dynamics 365 9.0 Version 新功能(1) 支持查找没有Opporunity的Account

    Dynamics 365 升级到9 0版本后 增强了高级查找中相关实体1 N关系的不包含数据的查询 这个功能虽然不太起眼 但是确实很多人期盼已久的 先来看下之前版本的高级查找 我以Accouts为示例 选择查询的相关实体是Opportuni
  • 4.tcp问题及进程

    1 tcp 问题 a 粘包 b 拆包 解决 1 1 解决方案 1 粘包 特殊字符方式 a 当时短连接的情况下 不用考虑粘包的情况 b 如果发送数据无结构 如文件传输 这样发送方只管发送 接收方只管接收存储就ok 也不用考虑粘包 c 如果双方
  • ccf-201412-3 集合竞价(详解)

    ccf 201412 3 集合竞价 详解 试题编号 201412 3 试题名称 集合竞价 时间限制 1 0s 内存限制 256 0MB 问题描述 问题描述 某股票交易所请你编写一个程序 根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘
  • alive workers 数量为0的解决方案

    因为hostname显示的主机名与 etc hosts中的主机名不相同 所以都会导致无法连接slave 将集群的主机均实现hostname与 etc hosts名称一样 就解决了问题 如下所示
  • 捕获原点

    一 什么是捕获 即当某一种信号触发时 GTS 运动控制器能准确记录触发时刻轴的位置信息 二 捕获的方式 GTS 控制卡提供四种捕获方式 Home 捕获 Index 捕获 探针 Probe 捕获和 HSIO 捕获 1 Home捕获模式 GTS
  • vue3中使用第三方插件mitt实现任意组件通讯

    vue3中使用第三方插件mitt实现任意组件通讯 组件通讯是vue3组合式开发的核心之一 现在我在写代码时 一个组件的代码超过了200行 基本都会拆分组件 组件拆分后 组件之间的通讯就很重要 总结了一下 目前有这么几种组件通讯类型 父子通讯
  • Arduino基于ESP8266模块的TCP透传功能使用TCP透传协议连接移动onenet

    一 硬件资源 1 Arduion UNO R3 2 ESP8266WIFI模块 二 需要提前明确的知识点 1 ESP8266模块具有TCP透传功能 通过AT指令可以使得WIFI模块连接至相应的服务器 2 onenet具有多协议接入方式 例如
  • 网络流(入门)-概念

    相关概念介绍 这里的相关概念引用的是yxc大佬的讲解 在这里特别感谢yxc大佬的算法课 让我入了算法竞赛的门 1 1 流网络 G V E 特点 是一个有向图 且可以有环 不考虑反向边 即使有反向边 也可以通过加点来把一条反向边 变成两条单向
  • Candence学习篇(6)使用allegro绘制元器件的PCB封装

    文章目录 前言 一 确定引脚坐标位置 二 新建封装 2 1设置封装的大小 2 2 设置焊盘路径 三 绘制PCB封装 3 1参数设置 3 2放置边框矩形 3 3放置装配层 放置丝印层和1脚指示原点 总结 前言 前面我们讲了 Candence学
  • 一只兔子每三个月生兔子JAVA,兔子生兔子问题

    关于兔子生兔子的算法详解 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔 子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 分析 第1个月 1对 第2个月 1对 第3个月 原来的1对 新生1对 2对 第4