`
xhy0422
  • 浏览: 281157 次
社区版块
存档分类
最新评论

斐波那契 递归与非递归

阅读更多
1递归
<code>
int fib(int n)
{if(n==1||n==2) return 1;
else return fib(n-1)+fib(n-2);
}
</code>
2非递归
<code>
public class Fibonacci {

    public static int fibo2(int n) {
        if(n==0 || n==1) {
            return n;
        }

        int f0=1, f1=1, f2=2;
        for(int i=2; i<=n; ++i) {
            f2 = f0 + f1;
            f0 = f1;
            f1 = f2;
        }
        return f2;
    }

}

</code>
分享到:
评论
1 楼 bivin0603 2010-09-11  
觉得你这个递归和斐波那契写的方法是正确的,但里面输出时不同的,特别是0和1时,可以把if(i==1||i==2)改成if(i==0||i==1)看看是不是这样俩个算法一致吧

相关推荐

    Fibonacci递归与非递归实现

    Fibonacci数列的java实现,包括递归与非递归实现

    斐波那契递归时间和非递归时间的比较(csdn)————程序.pdf

    在这个文档中,作者比较了两种计算斐波那契数列的方法:递归和非递归(也称为迭代)。递归方法通常更直观,但效率较低,而迭代方法虽然稍显复杂,但在处理大数时更有效率。 递归算法是通过调用自身来解决问题的。在...

    非递归实现fibonacci数列

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

    C++实现Fibonacci数列递归及非递归算法

    本文将探讨如何使用C++语言来实现Fibonacci数列的递归和非递归算法。 **递归算法** 递归是一种解决问题的方法,它定义一个函数或过程通过调用自身来解决问题。对于Fibonacci数列,递归实现非常直观: ```cpp int ...

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

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

    组合数学fibonacci数列递归非递归求解

    ### Fibonacci数列的非递归求解方法 非递归方法避免了递归方法的重复计算问题,提高了计算效率。给定文件中的第二个示例展示了如何使用循环结构来求解Fibonacci数列: ```c #include void main() { int n; scanf...

    菲波拉契数列的递归与非递归算法

    本篇文章将深入探讨斐波那契数列的递归与非递归算法实现方法,并通过具体的代码示例来帮助读者理解这两种方法的特点和适用场景。 #### 二、斐波那契数列定义 斐波那契数列是由以下递推公式定义的数列: \[ F(n) = ...

    斐波那契非递归 C语言源码 大数加法

    非递归的斐波那契数列算法通常采用迭代或矩阵乘法。在给定的描述中,我们关注的是迭代方法,并且特别强调了大数加法。由于普通的整型变量无法存储超过一定范围的数字,所以我们需要使用字符串来表示大数。以下是一个...

    算法基础与递归-百积问题-递归求公约数-求阶乘-斐波那契数列

    * 通过递归和非递归方法实现最大公约数的计算 * 通过递归和非递归方法实现阶乘的计算 * 实现斐波那契数列的计算 * 实现汉诺塔问题的解决 四、代码实现 下面是实验的代码实现: 1. 汉诺塔问题的解决 ```c void ...

    JAVA递归与非递归实现斐波那契数列

    总之,斐波那契数列的递归与非递归实现是Java编程中值得深入学习的一个主题。理解这两种方法的原理以及它们在时间和空间复杂度上的差异,可以帮助我们更好地选择合适的数据结构和算法,优化程序性能。在面对实际问题...

    华为题(斐波那契数列非递归)[定义].pdf

    华为题(斐波那契数列非递归) 知识点一:斐波那契数列的定义 斐波那契数列是指一系列数字,其中每个数字都是前两个数字的和,通常从0和1开始。斐波那契数列的定义可以用数学公式表示为: F(n) = F(n-1) + F(n-2)...

    斐波那契数列(fibonacci)-java实现-非递归

    斐波那契数列(fibonacci)-java的非递归实现。

    C预言fibonacci函数非递归版

    表达式C预言fibonacci函数非递归版

    递归算法到非递归算法的转换.ppt

    然而,在某些场景下,非递归算法可能更有利于性能优化或理解。本章将探讨如何将递归算法转换为非递归算法。 首先,我们要了解递归的定义。递归发生在一个过程或函数在定义中调用自身,这被称为直接递归。如果一个...

    c#斐波那契数列(Fibonacci)(递归,非递归)实现代码

    以上两种非递归方法都可以有效地计算斐波那契数列,但底向上非递归通常被认为是最优的,因为它只计算每个位置一次,避免了重复计算。在实际编程中,如果性能是关键因素,建议使用底向上非递归方法。

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

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

    Java实现用递归算法和非递归算法求解斐波那契数列问题.docx

    在给定的文档标题与描述中,“Java实现用递归算法和非递归算法求解斐波那契数列问题”明确指出了本文将围绕Java编程语言、递归算法与非递归算法以及斐波那契数列三个主要方面展开讨论。下面将对这三个核心概念进行...

    浅谈递归机制和非递归转换.txt

    根据给定文件的信息,我们可以提炼出递归机制与非递归转换的相关知识点: ### 递归机制 #### 定义 ...通过对递归原理的理解和掌握,以及对递归与非递归之间的转换,可以帮助我们更好地解决复杂问题。

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

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

    Fibonacci递归和非递归C ++

    总的来说,理解和掌握递归与非递归的Fibonacci序列实现对于C++开发者来说至关重要。递归方法虽然简洁,但效率低下;而非递归方法虽然代码稍显复杂,但具有更好的性能。在实际应用中,根据问题规模和性能要求选择合适...

Global site tag (gtag.js) - Google Analytics