`
xiaoming123123
  • 浏览: 101305 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

使用递归计算斐波那契数列

    博客分类:
  • J2SE
fab 
阅读更多
所谓递归(Recursion),就是方法调用自身。对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环

求阶乘有两种方式:
(1)      n!=n*(n-1)*(n-2)……*2*1
(2) n!=n*(n-1)!,因为n已经确定下来了,只需要知道(n-1)!就可以计算n!,而(n-1)!=(n-1)*(n-2)!,以此类推,所以最好使用这种递归的方式求阶乘


/*
 * 使用递归计算斐波那契数列(1,1,2,3,5,8,13,21,34)
 * 规律:某一个数等于,前两个数字之和
 */
package com.digui;

public class Fab {
	
	public int compute(int n) {
		
		//递归的出口
		if(1 == n || 2 == n) {
			return 1;
		}
		else {
			return compute(n - 1) + compute(n - 2);
		}
	}
	
	public static void main(String[] args) {
		
		Fab fab = new Fab();
		System.out.println(fab.compute(8));  //找出第8个所对应的数字
	}
}

分享到:
评论

相关推荐

    非递归实现fibonacci数列

    使用C++非递归实现fibonacci数列,对正在学习算法的同学应该挺有帮助的

    Labview实现递归:斐波那契数列

    斐波那契数列: 在数学上它以递归的方式进行定义,指这样的一个数列:0、1、1、2、3、5、8、13、21、34、55、89、144……,即前两个数为分别为0和1...本例为LabVIEW中编写递归VI实现求解斐波那契数列Fib(n)中第n项的值

    Q1069907.zip 汇编递归求斐波那契数列前N项 以及 TASM TurboC等工具

    以下是一个简单的汇编语言递归斐波那契数列的框架: ```assembly section .data n db 10 ; 计算斐波那契数列的前10项 section .text global _start _start: ; 初始化,这里假设递归函数名为fib mov ecx, [n] ...

    利用递归函数求解Fibonacci数列

    利用递归数列求解著名的Fibonacci数列的各项,用户可自定义输入要求的第n项,输入后即可求出从0到n每一项Fibonacci的值。

    递归方法实现斐波那契数列_递归方法实现斐波那契数列_python_源码

    在这个场景下,我们可以编写一个函数,它会根据斐波那契数列的定义来计算第n项的值。 Python中递归实现斐波那契数列的基本代码如下: ```python def fibonacci(n): if n print("输入错误,n应大于0") elif n =...

    Fibonacci数列(非递归的函数调用)

    斐波那契数列是一个经典的数学概念,在计算机科学...了解和实践非递归的斐波那契数列计算,对于提升C++编程技能和算法理解能力非常有帮助。在实际项目中,类似的方法也可以应用于其他需要高效计算序列或序列项的问题。

    递归算法算斐波那契数列

    5. **C语言实现递归斐波那契数列** #### 斐波那契数列定义 斐波那契数列(Fibonacci sequence)是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, ...。该数列从第三项开始,每一项都等于前两项之和。数学上,斐波那契...

    编写函数f,功能是用递归的方法求斐波那契数列的第n项

    【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,...

    递归算法 斐波那契数列Demo案例!

    下面是一个简单的Python代码示例,展示了如何使用递归算法来计算斐波那契数列: ```python def fibonacci(n): if n return 0 elif n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2) ``` 这...

    ### 递归求解 Fibonacci 数列 pta

    这段代码中的 `fibonacci()` 函数通过递归的方式计算 Fibonacci 数列中第 `n` 项的值。当 `n` 小于等于 1 时,函数直接返回 `n`,这对应于 Fibonacci 数列的定义。对于 `n > 1` 的情况,则通过递归调用 `fibonacci(n...

    matlab递归实现斐波那契数列_Fibonacci.zip

    matlab递归实现斐波那契数列_Fibonacci

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

    在本文中,我们将深入探讨如何使用汇编语言来计算斐波那契数列的前22项,并且对比两种不同的实现方法:递归调用和普通循环加法。首先,让我们了解一下斐波那契数列的基本概念。 斐波那契数列是一个数学上的序列,...

    C语言递归实现斐波那契数列程序

    C语言编写的斐波那契数列程序 递归 C语言初学者必会

    android Handler子线程计算斐波那契数列

    以下是使用Handler实现子线程计算斐波那契数列的步骤: 1. **创建Handler实例**: 首先,在主线程中创建一个Handler实例。这个Handler会监听消息队列,当有新消息到来时,它会调用`handleMessage(Message msg)`...

    寒假26.递归day 斐波那契数列_递归_

    在这个斐波那契数列的例子中,我们可以利用递归函数来计算任意位置的斐波那契数。递归函数的基本结构通常包括一个或多个基本情况(base cases),以及一个或多个递归情况(recursive cases)。 在C++中,一个简单的...

    java用非递归的方法打印Fibonacci数列

    Java 中的 Fibonacci 数列是通过非递归的方法来实现的,该方法使用循环来计算 Fibonacci 数列的每个元素,而不使用递归函数。 Java 中的 Fibonacci 数列的定义是从 0 开始的,第一个 Fibonacci 数是 0,第二个是 1...

    递归斐波那契数列

    在C语言中,我们可以编写一个递归函数来计算斐波那契数列的第n项。以下是一个简单的递归实现: ```c #include int fibonacci(int n) { if (n ) { return n; } else { return fibonacci(n - 1) + fibonacci(n ...

    PTA平台上递归与记忆化递归实现斐波那契数列的方法解析

    使用场景及目标:帮助学习者掌握斐波那契数列的不同递归实现技巧,特别是在处理较大数值时的有效算法优化手段。 其他说明:虽然递归是一种简单直观的方式来解决问题,但其计算成本高,尤其对于像斐波那契这样具有...

    C语言数据结构递归之斐波那契数列

    C语言数据结构递归之斐波那契数列是指在C语言程序设计中使用递归函数来解决斐波那契数列问题的方法。斐波那契数列是一种经典的数学序列,第一个和第二个数字都是1,而后续的每个数字是其前两个数字之和,例如,数列...

    Java递归实现斐波那契数列

    在斐波那契数列的实现中,递归算法可以将问题分解成多个小问题,每个小问题都是计算斐波那契数列的前两个数字的和。例如,计算第n个斐波那契数字,可以将其分解成计算第n-1和第n-2个斐波那契数字的和。通过这种方式...

Global site tag (gtag.js) - Google Analytics