本文实例为大家分享了java递归之斐波那契数列的具体代码,供大家参考,具体内容如下

第一种、普通写法

public class Demo {

public static void main(String[] args) {

int num1 = 1;

int num2 = 1;

int num3 = 0;

System.out.println(num1);

System.out.println(num2);

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

num3 = num1 + num2;

num1 = num2;

num2 = num3;

System.out.println(num3);

}

}

}

第二种、数组形式递归的写法

public class DIGUI1 {

public static void main(String[] args) {

int []arr=new int[20];

arr[1]=1;

arr[2]=1;

System.out.print(" "+arr[1]);

System.out.print(" "+arr[2]);

for(int i=3;i<20;i++){

arr[i]=arr[i-1]+arr[i-2];

System.out.print(" "+arr[i]);

}

}

}

第三种、递归形式的写法

public class Demo {

public static int f(int n) throws Exception {

if(n==0){

throw new Exception("参数错误!");

}

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

return 1;

} else {

return f(n-1)+f(n-2);//自己调用自己

}

}

public static void main(String[] args) throws Exception {

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

System.out.print(f(i)+" ");

}

}

}

用递归最大的问题就是效率问题了,但是有的程序必须用递归写才可以写出来。例如著名的汉若塔问题,如果有谁可以用其他方式写出来我服。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

斐波那契java_递归之斐波那契数列java的3种方法相关推荐

  1. 斐波那契数列通项公式的几种方法

    1.递归 2.动态规划 3.矩阵快速幂 转载于:https://www.cnblogs.com/umrx/p/8145954.html

  2. C语言以递归求斐波那契数列(附完整源码)

    递归求斐波那契数列 递归求斐波那契数列完整源码(定义,实现,main函数测试) 递归求斐波那契数列完整源码(定义,实现,main函数测试) #include <locale.h> #inc ...

  3. C和指针之函数之实现阶乘和斐波那契数(递归和非递归)

    1.问题 实现阶乘和斐波那契数(递归和非递归) 2.代码实现 #include <stdio.h>int num = 0; //递归实现斐波那契数 // n <=2, f(n) = ...

  4. Python:递归输出斐波那契数列

    今天学习Python的时候做一道练习题,题目是这样的: 题目 导入 问题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数 ...

  5. C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈

    C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈 分享到: QQ空间 新浪微博 腾讯微博 豆瓣 人人网 递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特 ...

  6. 使用递归解决斐波那契数列的性能问题

    使用递归解决斐波那契数列的性能问题 参考文章: (1)使用递归解决斐波那契数列的性能问题 (2)https://www.cnblogs.com/mlw1814011067/p/9439651.html ...

  7. scala递归求斐波那契数列

    object RecursiveFnb {def main(args: Array[String]): Unit = {var count = BigInt(0)//1 1 2 3 5 ?printl ...

  8. Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器...

    一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件处理: if 条件成立:val = 1else:val = 2 改成三元运算 val = 1 if 条件成立 else 2 ...

  9. 用递归和非递归求斐波那契数列

    递归的方法 #include<stdio.h> #include<stdlib.h> 递归的方式计算斐波那契数 int FeiBo(int f) {int n = 0;if ( ...

  10. 递归实现斐波那契数列 1 1 2 3 5 8 13 21 ......

    /*** 递归实现斐波那契数列* @author XHQ**/ public class Demo6 {public static void main(String[] args) {int arra ...

最新文章

  1. 设计模式之C#实现---Builder
  2. Codeforces Round #641 (Div. 2)A~E题解(数论场)
  3. R语言使用reshape2包的dcast函数将dataframe从长表到宽表(Long- to wide-format)、指定单个标识符、、表格转化的时候值不唯一设置聚合函数(均值)
  4. 1、Cocos2dx 3.0游戏开发三找一小块前言
  5. vbs控制电脑说话,vbs获取时间,vbs小程序
  6. 连接wifi的主机设置静态ip(固定ip)后无法上网的原因
  7. python3 创建简单的游戏窗口,并有单独的配置文件
  8. html5弹窗全屏,jQuery炫酷全屏模态窗口插件
  9. python 逆向生成正则表达式_用Python中的正则表达式生成lis
  10. 一文彻底搞懂Cookie、Session、Token到底是什么
  11. 使用学习曲线(Learning curve),判断机器学习模型过拟合、欠拟合,与解决过拟合、欠拟合的问题
  12. 2个recordset合并_史上最全!8种办法玩转Excel文字合并,总有一款适合你!
  13. 解决gitlab限制上传大小文件的问题
  14. 关于软件项目管理的一些问题
  15. docker部署svnadmin进行权限管理
  16. CheckMarx源代码安全测试工具
  17. 蓝筹股票会退市吗?什么是白马蓝筹股票?
  18. vs下qt混合编译错误:MOC问题
  19. 价值 1500 美元的 iPhone 值得买吗
  20. 第一行代码第二版6.4.1小节创建数据库中遇到adb shell出错的问题

热门文章

  1. java实习简历_怎么样写一份比较好的Java实习生的简历?
  2. ps保存psd后图层全没了_ps保存成psd格式后,再打开就是一张图片而不显图层,怎么办啊??急!!...
  3. Java算法面试题(008) 字符串反转
  4. 西门子系列PLC教学视频资源1——S7-200和S7-200smart
  5. 川崎机器人示教盒维修_川崎示教器维修 大连川崎机器人控制器维修 川崎伺服电机维修...
  6. 删除倾斜OSGB数据中的漂浮物
  7. idea打包 jar文件
  8. AWR6843芯片使用JFlash下载外部NorFlash
  9. 计算机专业小米笔记本推荐,小米笔记本哪款好
  10. 王道训练营3月13日