递归求解兔子对数问题
来源:互联网 发布:关口知宏2017来中国 编辑:程序博客网 时间:2024/06/06 08:29
package org.westos_11;/** * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?找规律: 兔子对数的规律: 第一个月:1 第二个月:1 第三个月:2 第四个月:3 第五个月:5 第六个月:8 ..... 规律: 1)从第三个月开始:每个月兔子的对数等于前两个月之和 2)第一个月和第二个月数据是已知的把每个月相邻兔子对数数据当做:a,b第一个月和第二个月相邻的数据:a=1,b=1第二个月和第三个月相邻 的数据:a=1,b=2第三个月和第四个月相邻的数据:a=2,b=3第四个月和第五个月相邻的数据:a=3,b=5....下一次的a是上一次的b,下一次的b是上一次的a+b数组或者递归递归: 三个条件: 1)定义一个方法 2)必须有规律 3)要有出口条件 举例: 从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,故事是: 从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,故事是: 从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,故事是: 从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,故事是: .... 庙塌了,挂了.. * @author Apple */public class DiGuiTest { public static void main(String[] args) { //定义一个数组:动态初始化 int[] arr = new int[20] ; //第一个月和第二个月兔子对数都是已知的 arr[0] = 1 ; arr[1] = 1 ; //arr[2] = arr[0]+ arr[1] ; //arr[3] = arr[1]+arr[2] ; for(int x = 2 ; x < arr.length; x ++){ //计算出每一个月兔子对数的数据 arr[x] = arr[x-1]+arr[x-2]; } System.out.println("第二十个月兔子的对数是:"+arr[19]);//6765 System.out.println("----------------------"); System.out.println("第二十个月兔子的对数是:"+fib(20));//6765 } /** * * @param n * n表示月份 * @return * 返回值是兔子的对数 * 规律: * 第一个月和第二个月兔子的对数1:从第三个月开始,每一个月兔子对数的数据是前两个月之和 */ private static int fib(int n) { if(n==1 || n==2){//出口条件 return 1 ; }else{ return fib(n-1) + fib(n-2) ;//中间的规律 } }}
阅读全文
0 0
- 递归求解兔子对数问题
- java算法-兔子对数问题
- JAVA求解兔子问题
- 兔子问题,用递归
- 生兔子问题(递归思想)
- 兔子繁殖问题(递归解决)
- 兔子、母牛繁殖问题(递归、非递归)
- 递归算法问题: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不会死。问: 第20个月的兔子总对数为多少?(提示:先分析兔子的增长规律)
- 递归求解汉诺塔问题
- 递归求解迷宫问题
- 迷宫问题递归求解
- 递归求解细胞分裂问题
- 递归函数求解问题
- 约瑟夫问题递归求解
- Hanoi问题递归求解
- 汉诺塔问题递归求解
- 递归的力量之兔子生兔子问题
- 兔子繁殖问题 - 两种递归思路
- 数据结构与算法(Java语言描述)--链表-02
- MyBatis学习笔记2_示例
- 闭包函数
- CentOS 6.5 配置IP地址的三种方法
- PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍
- 递归求解兔子对数问题
- Python语言入门(七)list集合切片体验Python语法简洁
- document.querySelector以及document.querySelectorAll中的转义符
- AVL树的插入和删除
- STM32基础知识3-STM32串口USART1的使用方法和程序
- 解决NLTK包下载出错问题及nltk测试
- Linux :service network restart :bringing up interface eth0:unknown connection
- 排序代码实现总结(1)--- 冒泡排序
- Spring 集成定时器quartz