1 【程序 1 不死神兔】

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

程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21....

package cskaoyan;

import org.junit.Test;

public class cskaoyan1 {

// 递归

@Test

public void show1() {

int month = 12;

System.out.println("第" + month + "个月兔子对数为" + getRabbitNumber1(12));

}

public int getRabbitNumber1(int month) {

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

return 1;

} else {

return getRabbitNumber1(month - 1) + getRabbitNumber1(month - 2);

}

}

// 非递归

@Test

public void show2() {

int month = 12;

getRabbitNumber2(month);

}

public void getRabbitNumber2(int month) {

int number1 = 1;

int number2 = 1;

int count = 0;

for (int i = 1; i <= month; i++) {

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

System.out.println("第" + i + "个月兔子对数为" + number1);

} else {

count = number1 + number2;

number2 = number1;

number1 = count;

System.out.println("第" + i + "个月兔子对数为" + count);

}

}

}

}

穿越障碍物JAVA编程_JAVA 基础编程练习题1 【程序 1 不死神兔】相关推荐

  1. 判断三角形java代码_java基础编程题之异常处理

    以下是刚开始学习java的基础编程题,每天持续更新java每个知识点的题目,持续练习,不断提高java基本功,培养编程能力.今天的练习的十八题是java的异常处理的使用. 1.检测年龄不能为负数和大于 ...

  2. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  3. java函数式编程_Java 函数式编程和 lambda 表达式详解

    作者:DemonsI my.oschina.net/demons99/blog/2223079 为什么要使用函数式编程 函数式编程更多时候是一种编程的思维方式,是种方法论.函数式与命令式编程的区别主要 ...

  4. java控制台编程_java用Console开发控制台程序

    JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备. 你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳. 但我们 ...

  5. java 函数式编程_Java函数式编程:Javaslang入门

    java 函数式编程 Java是一门古老的语言,并且该领域中有很多新手在他们自己的领域(JVM)上挑战Java. 但是Java 8到来并带来了一些有趣的功能. 这些有趣的功能使编写新的惊人框架(例如S ...

  6. java 并行_Java 并行编程!

    多核处理器现在已广泛应用于服务器.台式机和便携机硬件.它们还扩展到到更小的设备,如智能电话和平板电脑.由于进程的线程可以在多个内核上并行执行,因此多核处理器为并发编程打开了一扇扇新的大门.为实现应用程 ...

  7. java实现套接字网络编程_Java网络编程(一)Socket套接字

    一.基础知识 1.TCP:传输控制协议. 2.UDP:用户数据报协议. 二.IP地址封装 1.InetAddress类的常用方法 getLocalHost() 返回本地主机的InetAddress对象 ...

  8. java 必备_Java基础必备

    标签: 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希 ...

  9. cmd运行java文件_Java基础 前传

    微信搜一搜秃然编程 一.关于MS-DOS MS-DOS(微软磁盘操作系统),是美国微软公司提供的磁盘操作系统.在美国微软公司推出Windows1.0.Windows3.0.1995年8月24日推出的操 ...

最新文章

  1. python零基础怎么学-零基础python入门分析,如何做到一个月学会(深思极恐)
  2. linux之用户态和内核态
  3. python 魔法函数 __add___PythonI/O进阶学习笔记_2.魔法函数
  4. linux系统安装金蝶_linux 操作系统安装配置vnc
  5. 另一种将线程并入应用程序的方法-委托
  6. Flutter社区和资源传送门
  7. 记录——《C Primer Plus(第五版)》 第7章编程练习第5题
  8. CentOS 7系统,Docker想启用userns-remap,傻了吧?
  9. Cross compile webrtc for ios on mac os.
  10. python魔法方法-比较相关
  11. Hspice中的测量语句(II)
  12. win10企业版如何安装应用商店-默认没有应用商店
  13. oracle获取中位数
  14. 优化设计和计算机辅助,湿式空冷器优化设计和计算机辅助计算
  15. ROS Launch使用总结
  16. 转 为什么数码相机可以拍出彩色照片?
  17. 单片机学习和应用百问大全
  18. 关于彻底获得管理员权限的方法。(解决PYTHON PS 等报错问题)
  19. 第二类换元法之三角代换习题
  20. 离子交换技术实现工业污废水中镍的深度去除

热门文章

  1. HAProxy+Hive构建高可用数据挖掘集群
  2. 【luogu1018】 乘积最大 [区间dp+高精][noip2000]
  3. git merge 步骤
  4. 我的Java自学之路
  5. 利用jaxp对xml进行dom解析
  6. 通过计算机名访问linux
  7. linux中删除特殊文件
  8. 使用这些 HTTP 头保护 Web 应用
  9. 50行代码实现3D模拟真实撒金币动效
  10. ARP协议具体解释之Gratuitous ARP(免费ARP)