斐波那契数列(Fibonacci sequence),也称之为黄金分割数列,由意大利数学家列昂纳多・斐波那契(Leonardo Fibonacci)提出。斐波那契数列指的是这样的一个数列:1、1、2、3、5、8、13、21、34、……,这个数列从第 3 项开始,每一项都等于前面两项之和。在数学上,斐波那契数列可以被递推的方法定义如下:

F(1)=1,F(2)=1, F(n)=F(n – 1)+F(n – 2)(n ≥ 3,n ∈ N*)

1.斐波那契数列的递归终止条件
显然易见,通过观察斐波那契数列的定义,我们很容易发现当 n=1 或者 n=2 时,是斐波那契数列的递归终止条件,这个时候可以给出斐波那契数列的具体值。

2.斐波那契数列递归终止时候的处理方法
同样的,基于斐波那契数列的递推定义,当斐波那契数列达到终止条件 n=1 或者 n=2 时,我们也很容易发现对应 F(1)=1,F(2)=1,这就是斐波那契数列在递归终止时对应的取值。

3.斐波那契数列的递归重复逻辑提取
按照斐波那契数列的数学定义,F(n)=F(n – 1)+F(n – 2)(n ≥ 3,n ∈ N*),即当 n ≥ 3 时,斐波那契数列中这一项的值等于前面两项的值之和,这样便可以将求解一个比较大的斐波那契数列转化为求解较小数值的斐波那契数列值,这里面有重复逻辑可以递归复用。

代码如下:

import java.util.Scanner;public class Test24 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请斐波那契数列的项数:");int num=scanner.nextInt();int s=func(num);System.out.println("斐波那契数列的第"+num+"项为"+s);}private static int func(int num) {if(num==1||num==2){return 1;}else{return func(num-1)+func(num-2);}}
}

实现结果:

Java 递归算法之斐波那契数列第 N 项相关推荐

  1. Java实现递归 斐波那契数列 阶乘

    Java实现递归 斐波那契数列 阶乘 阶乘 /*** 使用递归算法求阶乘* 求阶乘 * 5!=5*4*3*2*1; * * 1=1;* 2!=2*1!;* 3! = 3*2!;* 4! = 4*3!; ...

  2. python递归求斐波那契数列前20项_用递归算法实现斐波那契数列1,1,2,3,5,8,13……的前20项,每输出5项一换行,用C++...

    关于 用递归算法实现斐波那契数列1,1,2,3,5,8,13--的前20项,每输出5项一换行,用C++的搜索结果 回答 请参考这篇文章,https://help.aliyun.com/document ...

  3. 递归算法解决斐波那契数列

    递归算法的认识 递归算法是一种直接或者间接调用自身函数或者方法的算法.说简单了就是程序自身的调用. 递归算法解决斐波那契数列 单词:Fibnacci(斐波那契) 斐波那契数列:1,1,2,3,5,8, ...

  4. 【Java系列】斐波拉契数列

    介绍 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列&q ...

  5. JAVA中打印斐波拉契数列_java打印斐波那契数列

    每行 5 个,输出斐波那契数列的前 20 个数字 6. 编写程序接受用户输入一个... 3 ? 这一公式输出斐波那契数列中的前 40 个数. 保存文件名为:bnds11.java class bnds ...

  6. 事无巨细说Java之---Java 程序 | Java 编程实例--1)Java中的斐波那契数列--Fibonacci series

    在斐波那契数列中,下一个数是前两个数的和,例如 0.1.1.2.3.5.8.13.21.34.55 等.斐波那契数列的前两个数是 0 和 1. java中写斐波那契数列程序有两种方式: 不使用递归的斐 ...

  7. java斐波那切数列_如何用java语言输出斐波那契数列

    展开全部 Java编程:三种方法实现斐波那契数列 其一方法:public class Demo2 { // 定义三个变量方法 public static void main(String[] args ...

  8. Java代码实现用for循环打印斐波那契数列前20项

    /*** 需求:编写代码按照要求实现以下的功能 * 用for循环打印 1 1 2 3 5 8 13 ...(斐波那契数列前20项)* 要点提取:斐波那契数列规律:第三个数起,是前两个数之和* 思路分析 ...

  9. linux求斐波那契数列前10项,linux求斐波那契数列的前10项以及总和.

    C语言的函数问题求斐波那契前四十个数,斐波那契数列指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学 />#include//the nest function used t ...

  10. matlab求斐波那契数列第n项的值,求fibonacci数列第n项的值. 1 1 2 3 5 8....n ?

    [C语言]用递归算法编写一个程序求Fibonacci数列的第n项值 #includeunsignedintFibonacci(intn);intmain(void){inti;for(i=1;i vb ...

最新文章

  1. jQuery添加DOM节点常用的5种方法
  2. 利用DHCP,http,tftp,pxe实现批量自动化部署系统
  3. CentOS6.3挂载读写NTFS分区
  4. 【oracle】日期类型 to_char
  5. 2.2 CPU 上下文切换是什么意思?(下)
  6. orale客户端与数据库连接
  7. ios android cpu占用率,iPhone-iOS-从应用程序获取CPU使用率
  8. C#基础知识之base、this、new、override、abstract梳理
  9. UVA 10600 ACM Contest and Blackout (次小生成树)
  10. android 恢复app 到前台,android手机把app disable了,怎么恢复
  11. CDH 5.13.0 集成 Phoenix
  12. 8.22 NOIP模拟测试29(B) 爬山+学数数+七十和十七
  13. 人工智能之入门大数据
  14. 杨辉三角python代码 不要括号_关于杨辉三角python代码的问题
  15. 我与刘强东的故事:他的1000亿和我的5000万(转超级表格)
  16. 软件工程 - 个人博客系统 - 可行性分析与需求分析文档
  17. 梯度(gradient)
  18. 开关电源Buck电路CCM与DCM工作模式有什么区别?
  19. InstallShield
  20. 【射影几何06】齐次坐标下“点-线”几何表示

热门文章

  1. 关于安装NTKO Office插件的方法
  2. 【非参数统计03】两独立样本的位置和尺度推断:Brown-Mood中位数检验、Wilcoxon-Mann-Whitney秩和检验
  3. 关键词分词工具_运用表格宏对阿里国际站关键词库进行分组
  4. 用c语言写财务软件,财务软件,您选对了吗?T+/T+C、T3深度实测对比
  5. 简述hdfs工作原理_简述HDFS的原理?
  6. MYSQL入门(一)
  7. class 反编译工具 jadclipse
  8. 小程序毕设作品之微信小程序点餐系统毕业设计(4)开题报告
  9. 安装Keil uVision5 破解失败
  10. 大文件下载插件webupload插件