`
dolphinlike
  • 浏览: 21924 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

费波那契 递归 非递归 算法 java实现

阅读更多
package fabonacci;

public class Fibonacci {

	public int fibonacciRecursive(int n) {
		if (n <= 1)
			return 1;
		return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2);
	}

	public int finonacciNormal(int n) {

		if (n<=1)
			return 1;
		int a1 = 1, a2 = 1;
		int an =0;;
		for (int i = 1; i < n; i++) {
			an = a1 + a2;
			a1 = a2;
			a2 = an;
		}
		return an;
	}

	public static void main(String[] args) {

		Fibonacci fibonacci = new Fibonacci();
		System.out.println("fibonacciRecursive===" + fibonacci.fibonacciRecursive(11));
		System.out.println("finonacciNormal===" + fibonacci.finonacciNormal(11));
	}
}
分享到:
评论

相关推荐

    费波那契数的封闭特点

    ### 费波那契数的封闭特点 #### 引言 费波那契数列是一种经典的数列,以其简洁而优雅的递推定义而闻名:初始两项分别为1和1,之后每一项都是前两项之和。即 \(a_1 = 1\), \(a_2 = 1\),并且对于所有 \(n \geq 1\) ...

    汇编语言,计算斐波那契数列的前22项,斐波那契数列,分别用两种方法:递归调用,普通循环加法

    在汇编语言中实现斐波那契数列,我们可以利用CPU的寄存器来存储数值,并通过控制流程指令(如跳转)来实现算法。接下来,我们将详细讨论两种方法。 1. **递归调用**: 递归是一种函数在其定义中调用自身的技术。在...

    费波拉契算法demo

    总结来说,"费波拉契算法demo"可能包含了一个或多个上述的斐波那契算法实现,如递归、动态规划、迭代法,或者是对类似爬楼梯问题的应用。通过这些方法的学习和实践,我们可以更好地理解和应用斐波那契数列在实际问题...

    费波拉系数列【C#】

    假设每一对小兔子出生后第三个月起每个月生一对小兔子, 兔子不会死,根据输入的月份输出小兔子出生情况,及总兔子个数,正好符合费波拉系数列。 1,1,2,3,5,8,13...[S(n-2)+S(n-1)].... [简单递归算法]

    C语言经典算法

    - **算法原理**:计算第n项的费波那契数列可以通过递归或迭代的方式实现。递归方式直观但效率较低,迭代方式则更高效。 - **代码实现**: ```c #include #define N 20 int main(void) { int Fib[N] = {0}; ...

    费波拉切数列

    4. **计算机科学**:在编程领域,费波那契数列常用于算法设计和性能测试,如递归、动态规划等问题。不过,由于递归解法效率低,会存在大量的重复计算,所以实际应用中往往使用迭代法或备忘录技术来优化。 5. **数学...

    scratch《递归算法》教学设计共享.pdf

    动手实践环节中,教师提供了三个任务,分别是求 N 的阶乘、求费波拉契数列的第 N 位和汉诺塔问题,学生通过学习网站上的微课教程和对应的 Scratch 参考程序,逐步理解如何在 Scratch 中通过自定义功能模块实现递归的...

    sony面试题基金大法官大法官上的

    实现费波那契数列的方式有两种:递归和非递归。 **递归实现**: 递归是一种直观的方法来解决费波那契数列问题,它基于费波那契数列的基本定义。递归函数`Pheponatch`接收一个整数参数`N`,返回第`N`个费波那契数。...

    Algorithm Gossip闲话算法

    - 自然界的许多现象都遵循费波那契数列的规律,如植物生长中的螺旋结构等。 - 在金融领域,费波那契数列用于技术分析和预测股票价格。 **递归与迭代实现:** - **递归方法**:直接根据定义实现,但效率较低,时间...

    数据结构经典算法大全

    以上介绍了河内之塔、费波那契数列以及巴斯卡三角形这三个经典的数据结构算法问题及其解决方案。这些算法不仅有助于理解递归、动态规划等计算机科学中的基本概念,而且在实际编程中也有着广泛的应用。接下来,我们将...

    C#,泰波拿契数(Tribonacci Number)的算法与源代码

    各种数据结构、算法及实用的C#源代码 C#,泰波拿契数(Tribonacci Number)的算法与源代码 泰波拿契数 (Tribonacci Number) 即把费波拿契数 (Fibonacci Number) 的概念推广至三个数。

    常见程式演算整理

    费波那契数列(Fibonacci sequence)是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, … 在数学中,费波那契数列是以递归的方式定义的,每个数都是前两个数的和。费波那契数列最初是在意大利数学家斐波那契(Leonardo ...

    经典算法大全初学者的秘钥

    **费波那契数列**(Fibonacci sequence)是另一个经典的数学概念,定义如下: 1. 第0项是0。 2. 第1项是1。 3. 从第二项开始,每一项都是前两项的和。 例如,数列开始的部分是:0, 1, 1, 2, 3, 5, 8, 13, ... **...

    C语言实现一些经典算法,可以免费下载

    在提供的部分内容中,列出了包括塔之河内、费波那契数列、巴斯卡三角形、三色棋等在内的多个经典算法主题。下面我将按照列表中的主题详细解释每个算法的知识点: 1. 河内之塔(Towers of Hanoi) 该问题描述了三个...

    C语言 经典算法 算法大全

    2. 费波那契数列(Fibonacci Sequence):数列中的每个数字是前两个数字的和,通常以0和1开始。在算法设计中,它可以用来模拟自然增长和资源分配问题,例如计算兔子繁殖或植物生长模型。 3. 帕斯卡三角形(Pascal's...

    A Method for Estimating Chirp Rate of a Linear Frequency Modulated Signal

    为了加快搜索过程,文章建议使用费波那契搜索算法(Fibonacci search algorithm),在计算复杂度方面提供了次优的搜索方案。仿真结果展示了所提出算法的有效性。文章的关键词包括分数傅里叶变换、调频速率、线性频率...

    C程序算法大全

    费氏搜寻法是一种基于费波那契数列的搜索算法,适用于某些特定场景。 #### 42. 稀疏矩阵 稀疏矩阵是一种特殊的数据结构,用于存储大部分元素为零的矩阵。 #### 43. 多维矩阵转一维矩阵 多维矩阵转一维矩阵涉及到...

    电子科大java实验

    1. **费波那契数列**(Fibonacci Sequence):这是一种基于递归定义的数学序列,其中每个数字是前两个数字的和。第一项和第二项分别为0和1,后续项由这两个数相加得到。例如:0, 1, 1, 2, 3, 5, 8, 13...。实验要求...

Global site tag (gtag.js) - Google Analytics