> 需求:

有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?

> 问题分析:

  • 问题假设
    1、假设兔子出生那天为第一天;
    2、假设兔子都在第三个月的第一天出生;
    3、假设不考虑生物界的各种突发因素如夭折、死亡等;
    4、假设每次出生的两只兔子为一公和一母,且从出生开始便为一对伴侣,无中途换伴侣等操作;
    5、假设不考虑伦理道德等问题。
  • 问题梳理
    1、首先,我们利用枚举法试图寻找数据间的关系,以第x个月为节点,规律如下:(单位:对)
    第一个月:1
    第二个月:1
    第三个月:2
    第四个月:3
    第五个月:5
    ……
    2、这些数据放在一起便是:1、1、2、3、5……
    不难发现,1+1=2,2+1=3,3+2=5……
    3、因此可以得出如下结论:从三个数据开始,每一个数据都是前两个数据之和,且第一、二个数据已知;
    4、利用数组模拟为:
    arr[0]=1;
    arr[1]=1;
    arr[2]=arr[0]+arr[1];
    arr[3]=arr[1]+arr[2];
    ……
    arr[i]=arr[i-2]+arr[i-1]
  • 思路整理
    1、定义一个数组存储每个月的兔子对数,动态初始化数组,长度为20;
    2、将数组第一、二个元素初始化为1;
    3、用循环实现计算每个月兔子对数;
    4、输出数组中最后一个元素的值,就是第二十个月的兔子对数。

代码实现

 public static void main(String[] args) {int[] arr = new int[20];arr[0] = 1;arr[1] = 1;for (int i = 2; i < arr.length; i++) {arr[i] = arr[i - 2] + arr[i - 1];}System.out.println("第二十个月的兔子对数为:"+arr[19]);}
第二十个月的兔子对数为:6765

java基础复习之不死神兔相关推荐

  1. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  2. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  3. 2020604 Java基础复习

    2020/6/4 Java基础复习 Java特性和优势 1.简单性: Java是在C++的语法的基础再"减减".没有头文件,没有指针,也不用分配内存,所以相对来说比较简单; 2.面 ...

  4. Java基础复习(六)

    Java基础复习(六) 常见关键字总结 1.final关键字 final用来修饰类.方法和变量. (1)final修饰的类不能被继承,而且final修饰的类中,所有成员方法会被默认为final方法,不 ...

  5. Java基础复习-常用类

    Java基础复习-常用类 本文仅对学习过程中所缺java知识点的查缺补漏复习 String 代表字符串.Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现. St ...

  6. Java基础复习-八大基本数据类型-内存模型-基本算法-网络编程

    Java基础 数据类型: 基本数据类型: 整数型:byte short int long(数值型) 浮点型: float double(数值型) 字符型:char 布尔型:boolean 引用数据类型 ...

  7. java基础复习(练习写博客)

    文章目录 Java特性和优势 java三大版本 JDK.JRE.JVM(从前到后包含) Java开发环境搭建步骤 Java程序运行机制 IDE Java基础语法 一.注释.标识符.关键字 二.数据类型 ...

  8. Java基础复习总结笔记(上)

    前言 对Java部分基础知识进行复习总结,没事可以看看. 目录 一.基础语法 1.1 Java名词 1.2 Java关键字 1.3 基本数据类型(4类8种) (1)整数类型 (2)浮点类型 (3)字符 ...

  9. Java 基础复习实践 --- Hashcode Equals

    虽然很多知识点书籍都有整理,但是记性总是不好,所以决定将一些细小容易混淆的概念,通过简单的 Demo 实践,加深复习.特此开一个坑,坚持就是胜利. 本章内容主要为了理解以下几个知识点: equals( ...

最新文章

  1. 数据中心进行数字化转型的2019年
  2. jQuery基础--样式篇(3)
  3. PDX模型不靠谱,土豪来发resource;细菌帮助癌转移,诺奖发现被推翻
  4. java检测textarea换行_Textarea和Java 换行符
  5. u盘数据恢复的原理_【轻松搞定初始化黑胶体闪存盘数据恢复实战】 u盘数据恢复是什么原理...
  6. soem主站移植到rt thread smart操作系统
  7. 关于IP转换器无法正常启动的问题
  8. linux怎么运维和平精英游戏,和平精英开局怎么玩 和平精英开局玩法介绍
  9. 路由器 设置DNS 域名拦截 重定向
  10. 可视化股票市场结构||沪深300股票聚类可视化
  11. Easy Excel 使用总结
  12. Unity3D-打飞碟小游戏
  13. 如何使用Outlook的在线内联翻译功能
  14. bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
  15. Ubuntu 17.10/内核4.13.0 vmware 提示 Not Enough Physical Memory 解决方法
  16. Apache 服务器安全防护及实战
  17. 苹果手用计算机解锁手机密码,苹果手机忘记解锁密码怎么办?解决方法大全
  18. hive 中文字符过滤_Hive UDF 过滤字符串中的中英文标点符号
  19. mysql 冗余字段 同步_冗余数据一致性,到底如何保证?
  20. openlayers之轨迹回放(附加暂停、继续播放功能)

热门文章

  1. Win10系统更新后开机密码错误怎么解决?
  2. 健康心理学类毕业论文文献包含哪些?
  3. 作业1:从产品经理人的角度规划项目
  4. typora 配置 smms 图床
  5. 正版win10系统重装(更换固态硬盘等操作)保持之前正版激活教程
  6. 第五---七章 交换机和路由器的基本配置
  7. OpenCV实现单目摄像头对图像目标测距
  8. 红队攻击:轻松玩转邮件钓鱼
  9. 记一次抗DDOS演练
  10. 从faces_glintasia的.rec数据集转换为jpg图片