斐波那契java_递归之斐波那契数列java的3种方法
本文实例为大家分享了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.递归 2.动态规划 3.矩阵快速幂 转载于:https://www.cnblogs.com/umrx/p/8145954.html
- C语言以递归求斐波那契数列(附完整源码)
递归求斐波那契数列 递归求斐波那契数列完整源码(定义,实现,main函数测试) 递归求斐波那契数列完整源码(定义,实现,main函数测试) #include <locale.h> #inc ...
- C和指针之函数之实现阶乘和斐波那契数(递归和非递归)
1.问题 实现阶乘和斐波那契数(递归和非递归) 2.代码实现 #include <stdio.h>int num = 0; //递归实现斐波那契数 // n <=2, f(n) = ...
- Python:递归输出斐波那契数列
今天学习Python的时候做一道练习题,题目是这样的: 题目 导入 问题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数 ...
- C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈
C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈 分享到: QQ空间 新浪微博 腾讯微博 豆瓣 人人网 递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特 ...
- 使用递归解决斐波那契数列的性能问题
使用递归解决斐波那契数列的性能问题 参考文章: (1)使用递归解决斐波那契数列的性能问题 (2)https://www.cnblogs.com/mlw1814011067/p/9439651.html ...
- scala递归求斐波那契数列
object RecursiveFnb {def main(args: Array[String]): Unit = {var count = BigInt(0)//1 1 2 3 5 ?printl ...
- Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器...
一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件处理: if 条件成立:val = 1else:val = 2 改成三元运算 val = 1 if 条件成立 else 2 ...
- 用递归和非递归求斐波那契数列
递归的方法 #include<stdio.h> #include<stdlib.h> 递归的方式计算斐波那契数 int FeiBo(int f) {int n = 0;if ( ...
- 递归实现斐波那契数列 1 1 2 3 5 8 13 21 ......
/*** 递归实现斐波那契数列* @author XHQ**/ public class Demo6 {public static void main(String[] args) {int arra ...
最新文章
- 设计模式之C#实现---Builder
- Codeforces Round #641 (Div. 2)A~E题解(数论场)
- R语言使用reshape2包的dcast函数将dataframe从长表到宽表(Long- to wide-format)、指定单个标识符、、表格转化的时候值不唯一设置聚合函数(均值)
- 1、Cocos2dx 3.0游戏开发三找一小块前言
- vbs控制电脑说话,vbs获取时间,vbs小程序
- 连接wifi的主机设置静态ip(固定ip)后无法上网的原因
- python3 创建简单的游戏窗口,并有单独的配置文件
- html5弹窗全屏,jQuery炫酷全屏模态窗口插件
- python 逆向生成正则表达式_用Python中的正则表达式生成lis
- 一文彻底搞懂Cookie、Session、Token到底是什么
- 使用学习曲线(Learning curve),判断机器学习模型过拟合、欠拟合,与解决过拟合、欠拟合的问题
- 2个recordset合并_史上最全!8种办法玩转Excel文字合并,总有一款适合你!
- 解决gitlab限制上传大小文件的问题
- 关于软件项目管理的一些问题
- docker部署svnadmin进行权限管理
- CheckMarx源代码安全测试工具
- 蓝筹股票会退市吗?什么是白马蓝筹股票?
- vs下qt混合编译错误:MOC问题
- 价值 1500 美元的 iPhone 值得买吗
- 第一行代码第二版6.4.1小节创建数据库中遇到adb shell出错的问题
热门文章
- java实习简历_怎么样写一份比较好的Java实习生的简历?
- ps保存psd后图层全没了_ps保存成psd格式后,再打开就是一张图片而不显图层,怎么办啊??急!!...
- Java算法面试题(008) 字符串反转
- 西门子系列PLC教学视频资源1——S7-200和S7-200smart
- 川崎机器人示教盒维修_川崎示教器维修 大连川崎机器人控制器维修 川崎伺服电机维修...
- 删除倾斜OSGB数据中的漂浮物
- idea打包 jar文件
- AWR6843芯片使用JFlash下载外部NorFlash
- 计算机专业小米笔记本推荐,小米笔记本哪款好
- 王道训练营3月13日