兔子问题、递归

public class Test {

/**

* 兔子问题

* 斐波那契数列

*/

@org.junit.Test

public void test2() {

int m = 5;

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

System.out.printf("第%d个月,有%d个兔子\n", i, fib(i));

}

}

private int fib(int month) {

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

return 1;

} else {

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

}

}

/**

* 计算1+2+3+4+...+100的值

*/

@org.junit.Test

public void test3() {

int i = 10;

System.out.printf("%d的累计和是%d", i, sum(i));

}

private int sum(int x) {

if (x == 1) {

return 1;

} else {

return x + sum(x - 1);

}

}

/**

* 计算1 -2 +3 +-4+ 5- 6 + 7 - 8 + 9的值

*/

@org.junit.Test

public void test4() {

int i = 4;

System.out.printf("%d的差累计和是%d", i, sum2(i));

}

private int sum2(int i) {

if (i == 1) {

return 1;

}

else if (i % 2 == 0) {

return sum2(i - 1) - i;

} else {

return sum2(i - 1) + i;

}

}

/**

* 汉诺塔问题

* 实现 A-B-C 方式,A-C-B, A-C, B-A-C

*/

@org.junit.Test

public void test5() {

}

}

转载至链接:https://my.oschina.net/lemos/blog/1932171

java递归兔子_兔子问题 —— 递归的应用相关推荐

  1. 汉罗塔用java怎么编程_编程:递归编程解决汉诺塔问题(用java实现)

    //Li Cuiyun,October 14,2016. //用递归方法编程解决汉诺塔问题 package tutorial_3_5; import java.util.*; public class ...

  2. 循环神经网络 递归神经网络_如何用递归神经网络预测空气污染

    循环神经网络 递归神经网络 After the citizen science project of Curieuze Neuzen, I wanted to learn more about air ...

  3. Java兔子生兔子问题(递归法)

    Java兔子生兔子问题(递归法) 该问题与上楼梯的问题一样,是从反方向思考推导递归公式 /**生兔子问题 * 问题描述: * 新诞生的兔子三个月后会每个月都会产小兔子 * 即: 1 1 2 3 5 8 ...

  4. java 兔子繁殖问题_兔子繁殖问题

    /*兔子繁殖问题. 设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生的兔子从第三个月开始又每个月生一对兔子. 按此规律,并假定兔子没有死亡,20个月后共有多少个兔子?要求编写为控制台程序 ...

  5. java递归怎么写_什么是递归?用Java写一个简单的递归程序

    什么是递归?用Java写一个简单的递归程序 递归的定义 递归(recursion):以此类推是递归的基本思想,将规模大的问题转化为规模小的问题来解决. 递归的要素 自定义递归函数,并确定函数的基本功能 ...

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

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

  7. foreach jdk8 递归_[Java 8] (8) Lambda表达式对递归的优化(上) - 使用尾递归 .

    递归优化 很多算法都依赖于递归,典型的比如分治法(Divide-and-Conquer).但是普通的递归算法在处理规模较大的问题时,常常会出现StackOverflowError.处理这个问题,我们可 ...

  8. java 递归 尾递归_递归和尾递归

    C允许一个函数调用其本身,这种调用过程被称作递归(recursion). 最简单的递归形式是把递归调用语句放在函数结尾即恰在return语句之前.这种形式被称作尾递归或者结尾递归,因为递归调用出现在函 ...

  9. 兔子繁殖问题(python递归解决)

    兔子繁殖问题 古典问题:有一-对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个服生一对兔子,假如兔子都不死,用户输入-一个月份数,计算并在- - -行内输出该月的兔子总对数以及前 ...

最新文章

  1. 给AI一个洗衣机,TA会做点啥?斯坦福+FB研究了972种形状,只为教机器人开门
  2. Docker 容器技术 — Image
  3. rsync 更改配置后, 无需手动重启
  4. 公众号 接收规则 消息_微信公众平台 发送模板消息(Java接口开发)
  5. python可视化数据分析交互作用_一文轻松看懂线性回归分析的交互作用!
  6. 菜鸟学习Spring——初识Spring
  7. 我创业的时候从没想要去赚钱
  8. Anconda之常用命令汇总
  9. .net中的设计模式---单例模式
  10. paip.软件及网站项目开发效率低下的思索与改进
  11. M1 Mac YYKit 报错
  12. linux下这输入法切换大小写,Life With Arch:让Capslock成为输入法切换快捷键
  13. 规则引擎 Easy rule 使用总结
  14. python base64解密
  15. 云数据库 RDS for PostgreSQL的优势和应用
  16. 点下确认的那一刻,我的大脑在发生些什么?
  17. 2019腾讯区块链白皮书(附完整版下载)
  18. 山水印|竹林野茶:你喝过的茶,都写在了脸上
  19. 达人评测 索尼8K电视Z9J、4K电视X95J和83英寸A90J 怎么样
  20. 2019计算机跨保经验:清(深)北交浙计算所经验

热门文章

  1. php采集喜马拉雅,喜马拉雅FM爬虫问题求助!!
  2. Linux学习之一键建站脚本
  3. [转]关于Blocking IO, Non-Blocking IO 和 Asynchronous I/O的理解
  4. 汇编语言:简单的英文字母大小写转换
  5. PCIe实践之路:PCIe转USB Host驱动
  6. photoscan小结(1)——跑空三及导出POS
  7. 计算机组成与结构微程序控制器
  8. 工作两年后感悟的《大话西游》
  9. 【小技巧】关于Windows10跨桌面切换应用的使用
  10. 【计算机毕业设计】005学生心理咨询评估系统