递归实现斐波那契数列(Java)

一、介绍

​ 斐波那契数列(Fibonacci sequence),又称黄金分割数列,以兔子繁殖 为例子而引入,指的是这样一个数列: 1、1、2、3、5、8、13、21、34、……

二、分析

​ 规律:一个数等于前两个数的和

​ f(0) =1,

​ f(1) = 1,

​ f(2) = f(0) + f(1) =2,

​ f(3) = f(1) + f(2) = 3,

​ f(4) = f(2) + f(3) = 5,

​ …

​ f(n) = f(n-2) + f(n-1);

三、代码实现

import java.util.Scanner;public class Test {public static int f(int n){  //方法f来实现斐波那契,可将f(int n)看成上述规律中的f(n)if (n==0||n==1){  //f(0),f(1)都等于1return 1;}else if(n>1){return f(n-2) + f(n-1);  //f(n)=f(n-2)+f(n-1)}else {return -1;}}public static void main(String[] args) {  //主方法Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();System.out.println(f(n));}
}

斐波那契数列(Java递归)相关推荐

  1. (兔子繁殖问题)斐波那契数列:递归非递归解法

    题目 假设一对幼年兔子需要一个月长成成年兔子,一对成年兔子一个月后每个月都可以繁衍出一对新的幼年兔子.不考虑死亡的情况,问第 N 个月时共有多少对兔子? 这是一个典型的斐波那契数列问题,即 第一个月有 ...

  2. 斐波那契数列(递归+源码+注释)

    斐波那契数列(递归+源码+注释) 公元 1202 年,意大利数学家莱昂纳多·斐波那契提出了具备以下特征的数列: 前两个数的值分别为 0 .1 或者 1.1: 从第 3 个数字开始,它的值是前两个数字的 ...

  3. 《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java

    <LeetCode力扣练习>剑指 Offer 10- I. 斐波那契数列 Java 一.资源 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) ...

  4. 斐波那契数列python递归 0、1、1、2、3_python: 递归和递推方法求斐波那契数列

    1.  斐波那契数列 序号 0 1 2 3 4 5 6... 数列 0 1 1 2 3 5 8... 2.  三种程序 import time time1 = time.clock() #斐波那契数列 ...

  5. Python输出斐波那契数列【递归、迭代】

    Python输出斐波那契数列[递归.迭代] 首先 斐波那契数列的定义是什么? 斐波那契数列指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--在数学上,斐波那契数列以如下被以递推的方 ...

  6. 兔子繁殖问题 斐波那契数列 java实现

    兔子繁殖问题 斐波那契数列 java实现 问题描述 一对兔子,从出生后第3个月起每个月都生一对兔子. 小兔子长到第3个月开始每个月又生一对兔子. 假如兔子都不死, 请问第1个月出生的一对兔子,第n个月 ...

  7. Java实现斐波那契数列(递归、遍历、矩阵)

    什么是斐波那契数列 其实很简单,可以理解为: F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*) 比如这样一个数列:1.1.2.3.5.8.13.21.34 ...

  8. 斐波拉契数列 Java三种实现

    对于很多Java初学者来说,求解斐波拉契数列,基本上所使用的方式都是递归.对于求解斐波拉契数列来说,递归的实现方式的效率是极其低下的. 在此,我贴出三种实现(递归,迭代,动态规划): 我们先看代码的执 ...

  9. 斐波拉契数列 java实现

    指的是这样一个数列: 1 1 2 3 5 8 13 21 34 ... F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 也称黄金分割数列,兔子数列 通项 ...

  10. 从小猴摘桃子问题引发的斐波那契数列与递归的思考

    前几天朋友在群里问了一个问题,"有一颗桃树,上面有20个桃子,一只小猴一次可能摘一只桃子或两只桃子,问小猴摘完树上的所有桃共有多少种可能的方法?".这个问题是一个比较经典的算法题, ...

最新文章

  1. 收集到的一些网络工程师面试题 和大家分享下
  2. Zapcc:一个更快的C++编译器
  3. 计算机网络:浅谈HTTPS和加密
  4. 【Paper】2020_GrHDP Solution for Optimal Consensus Control of Multiagent Discrete-Time Systems
  5. 循环链表应用——约瑟夫置换
  6. php is resource,PHP有没有is_type()函数?该如何解决 - is_resource
  7. Spring Boot——[java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration]解决方案
  8. 两种列式存储格式:Parquet和ORC
  9. er图转关系模式规则_ER模型怎么画?快速绘制ER模型操作方法分享
  10. Hive中时间格式的转换
  11. go和python互调
  12. 判断是否用户开启了定位服务
  13. Windows快速更改IP脚本
  14. java 串口通信读取电子秤
  15. CPU的使用率和负载的区别
  16. ArcGIS Engine打开文件地理数据库
  17. Oracle数据库各版本下载(迅雷复制粘贴直接下载,别进目录)
  18. 目标检测YOLO实战应用案例100讲-自动驾驶场景下的三维目标检测技术研究
  19. 接口测试-post常见数据提交方式
  20. 微软试图导演互联网版的“赤壁之战”?

热门文章

  1. 汇编常用DOS命令调用
  2. iOS测试技巧:GPX文件修改经纬度
  3. 全民奇迹辅助制作视频教程
  4. 学习类APP如何规范
  5. java编写猜数字游戏_java编写猜数字游戏
  6. 经典的Java算法面试题
  7. ibm x3850 x5连接存储后,linux操作系统无法正常启动,《七小服公开课》— IBM X3850 X5服务器无法开机故障 处理步骤...
  8. 视频中场的概念(1080I和1080P)和BT601/656/709/1120/2020/2077
  9. 记录一下postman汉化踩过的坑
  10. 《word精彩实例互动教程》已经上线!