斐波那契在《算盘书》中提出了一个有趣的兔子问题:一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔总数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;
package Test01;/*** 斐波那契数列之不死神兔                  总数 * 分析:* 第个一月:1对小兔                      1*  二月:1对小兔子长大变成1对大兔子           1*  三月:1对大兔生了1对小兔                   2 *  四月:2大  1小                              3 *  五月 :3大 2小                  5           * @author LuoJoy**/
public class Test1 {public static void main(String[] args) {// demo1();System.out.println(getNum(8));}private static void demo1() {// 第一种方法使用数组int[] arr = new int[8];arr[0] = 1;arr[1] = 1;// 从第三个开始,前两个月的兔子加起来等于第三个月for (int i = 2; i < arr.length; i++) {arr[i] = arr[i - 2] + arr[i - 1];}// 得到第8个月的兔子总数,其实就是数组的最后一个下标所对应的值System.out.println(arr[arr.length - 1]);}// 第二种做法,采用递归,把每一个月的兔子数量作为方法的返回值public static int getNum(int num) {if (num == 1 || num == 2) {return 1;} else {return getNum(num - 2) + getNum(num - 1);}}
}

斐波那契数列之不死神兔相关推荐

  1. 斐波那契数列之不死神兔 14

    不死神兔 案例需求 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少? 分析 技巧:归纳推敲.总结规律,写代码实现 ...

  2. 斐波那契数列之不死神兔---------说白了就是递归的应用

    小了白了兔,白了又了白,两了只了耳了朵了竖了起了来了,蹦了蹦了跳了跳了,真了可了爱. 问:有一对小兔子,从出生的第三个月开始,每个月都生一对兔子,小兔长到三个月后又生一对小兔子,假设这些兔子不会死亡, ...

  3. 斐波那契数列----兔子问题

    前言 2021年/01/07 我TM可太爱学JAVA了.奥里给!!! 简单搞一搞JAVA,今天的内容主要是方法体,用方法体去就解决一些问题: 1.斐波那契数列,以兔子繁殖为例子而引入,故又称为&quo ...

  4. python斐波那契数列第四十项_科学网—不死神兔的繁衍生息——神奇的斐波那契数列 - 霍开拓的博文...

    不死神兔的繁衍生息--神奇的斐波那契数列 • 故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契.在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月 ...

  5. java 斐波拉_Java实现斐波那契数列

    斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&g ...

  6. 剑指offer:面试题10- I. 斐波那契数列

    写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 ...

  7. 用递归法计算斐波那契数列的第n项

     斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1, ...

  8. 循环斐波那契数列_剑指offer #10 斐波那契数列

    (递归和循环)#10 斐波那契数列 一.斐波那契数列 定义: n = 0 , f(n) = 0 n = 1 , f(n) = 1 n > 1 , f(n) = f(n-1) + f(n-2) 思 ...

  9. 用C语言编写:判断一个≥2的整型数是否存在于斐波那契数列中?

    自己写的,感觉挺有成就感的,就展示出来吧! 判断一个≥2的整型数是否存在于斐波那契数列中? 若存在,则返回第几项:若不在,则返回-1 #include <stdio.h> long gen ...

最新文章

  1. 管理者和领导者有哪些区别?
  2. ef AddDays报错
  3. 深度学习之基于DCGAN实现动漫人物的生成
  4. jstl core and jstl fn
  5. 整数分解为若干项之和
  6. 学习日志(一)安装PySide2遇到的问题及其解决办法
  7. mysql 查看死锁和去除死锁
  8. nginx 认证访问web
  9. python wget_python wget下载文件处理的一些问题
  10. 前端安全: 如何防止 XSS 攻击?
  11. html背景为视频教程,HTML+CSS入门 如何将视频设置为网页背景
  12. 04、Hadoop框架HDFS NN、SNN、DN工作原理
  13. Global.asax 文件是什么
  14. 谷歌浏览器突然不能翻译了怎么解决?无法翻译此网页的解决方法
  15. bixby怎么编程_三星Galaxy S20:如何完全禁用Bixby
  16. 计蒜客-植物大战僵尸
  17. 在虚拟机下安装配置Linux和Oracle
  18. 面试题:1、H5+css
  19. Android项目实战——一个简单的记事本程序
  20. ublox8 M8协议介绍

热门文章

  1. PIC16 F887 单片机 直流电机PWM调速 PID调速 PID算法
  2. matlab m序列扩频,基于matlab的移位寄存器法m序列的产生
  3. signature=3d7534face990de7e25e7438440abe49,Designing the User Interface 5e
  4. RabbitMQ的四种交换机模式
  5. csgo下方各种数据都是意思_CSGO职业选手如何练枪?QUQU完美演绎,两个字母:NP...
  6. 面向模式的软件体系结构(卷1-5
  7. 自己做量化交易软件(9通通量化框架的雏形建立
  8. Android Execution failed for task ‘:app:mergeDebugResources‘.
  9. 让你对DC完全了解的88条名词解释(转)
  10. 李春华:B2C商城做SEO的九个常见目标定位