`
dolphinlike
  • 浏览: 21604 次
  • 性别: 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`个费波那契数。...

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

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

    常见程式演算整理

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

    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),在计算复杂度方面提供了次优的搜索方案。仿真结果展示了所提出算法的有效性。文章的关键词包括分数傅里叶变换、调频速率、线性频率...

    电子科大java实验

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

    Python实现斐波那契数列

    在数学上,费波那契数列是以递归的方法来定义: F0 = 0 (n=0) F1 = 1 (n=1) Fn = F[n-1]+ F[n-2](n=&gt;2) 程序源代码: 方法一: #!/usr/bin/python # -*- coding: UTF-8 -*- # 斐波那契数列 def fib(n): a, b ...

Global site tag (gtag.js) - Google Analytics