`
winnie825
  • 浏览: 120018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

斐波那契数列实现

    博客分类:
  • java
阅读更多

使用递归和非递归方式实现fibonacci数列,从输出结果分析:递归的执行效率低。

package com.sg.fibonacci;


public class FibonacciMain {

    public static void main(String[] args) {
        int num = 40;
        long begin = 0l;
        long end = 0l;
        
        begin= System.currentTimeMillis();
        System.out.print("Number "+num+" fibonacci value -> " +finnonacciTraversal(num));
        end = System.currentTimeMillis();
        System.out.println(" spend time: " + (end - begin));
        
        begin = System.currentTimeMillis();
        System.out.print("Number "+num+" fibonacci value -> " +fibonacciRecursive(num));
        end = System.currentTimeMillis();
        System.out.println(" spend time: " + (end - begin));
    }

    /**
     * 使用递归实现fibonacci数列
     * @param count 获取第count结果
     * @return
     */
    public static int fibonacciRecursive(int count){
        if(count == 1 || count == 2) {
            return 1;
        }else {
            int temp = fibonacciRecursive(count-1)+fibonacciRecursive(count-2);
            
            return temp;
        }
    }
    
    /**
     * 使用遍历的方式生成fibonacci数列
     * @param 获取第count结果
     * @return
     */
    public static int finnonacciTraversal(int count) {
        int f2 = 1;
        int f1 = 1;
        
        int temp = 0;
        for(int i=2;i<count;i++) {
            temp = f2;
            f2 = f1 + f2;
            f1 = temp;
        }
        
        return f2;
    }
}

 

Number 40 fibonacci value -> 102334155 spend time: 1
Number 40 fibonacci value -> 102334155 spend time: 811
 
分享到:
评论

相关推荐

    斐波那契数列实现C++

    斐波那契数列实现的C++代码;代码易懂易扩展。

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

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

    java实现Fibonacci数列

    根据给定文件的信息,我们可以详细地探讨如何使用Java来实现Fibonacci数列,并通过具体的代码示例来深入了解这一主题。 ### Java实现Fibonacci数列 #### 1. Fibonacci数列简介 Fibonacci数列是一系列数字,其中每...

    Python实现斐波那契数列

    斐波那契数列大家都很熟悉吧,咱们在高中学数学的时候,老师会讲这个定律以及算法,其实数据结构和数学息息相关,数学思维好的往往逻辑思维就比较好,今天小猿圈带大家学习一下python的斐波那契数列的实现。...

    非递归实现fibonacci数列

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

    斐波那契数列c++.pdf

    #### C++中的斐波那契数列实现 给定的部分内容展示了一个使用C++编写的简单程序,用于生成斐波那契数列: ```cpp #include #include // 定义斐波那契数列生成函数 std::vector&lt;int&gt; generateFibonacci(int n) {...

    斐波那契数列(前100项).rar

    1. **算法实现**:常见的编程语言如C语言,可以用来实现斐波那契数列的计算。有两种主要的方法:递归和非递归。 - **递归方法**:递归是最直观的实现方式,但效率较低,因为它会重复计算很多次相同的值。例如,用...

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

    递归方法是实现斐波那契数列的一种常见方式。在编程中,递归是指函数调用自身来解决问题的方法。在这个场景下,我们可以编写一个函数,它会根据斐波那契数列的定义来计算第n项的值。 Python中递归实现斐波那契数列...

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

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

    Fibonacci_VERILOGfibonacci_实现斐波拉切数列_

    在计算机科学中,特别是硬件描述语言(HDL)如Verilog中,斐波那契数列的实现是一个常见的练习,用于学习和展示并行和串行计算的概念。 Verilog是一种广泛使用的硬件描述语言,它允许工程师用类似于编程语言的方式...

    java代码实现斐波那契数列输出第n个数

    在Java编程中,实现斐波那契数列有多种方法,包括递归、循环和动态规划等。递归方法虽然直观,但效率较低,因为它会进行大量的重复计算。循环方法和动态规划则通过存储中间结果避免了重复计算,提高了效率。 以下是...

    python 实现斐波那契数列

    # 题目:斐波那契数列。 # 程序分析:斐波那契数列(Fibonacci sequence),从1,1开始,后面每一项等于前面两项之和。图方便就递归实现,图性能就用循环。

    MIPS汇编实验:斐波那契数列

    在这个"MIPS汇编实验:斐波那契数列"中,我们主要关注的是如何使用C语言和MIPS汇编来实现斐波那契数列的计算,并进行溢出和输入检测。斐波那契数列是由两个前一个数相加得到的数列,通常以0和1开始。 首先,我们看...

    利用Matlab程序计算斐波那契数列的前一百项

    在这个MATLAB程序中,我们首先定义了斐波那契数列的前两项`fibonacci = [1, 2]`,然后通过`for`循环从第三项开始计算,直到第一百项。在每次循环中,我们使用`fibonacci(k)`存储当前项,它是前两项`fibonacci(k-1)`...

    mips汇编语言实现斐波那契数列的排列

    MIPS汇编语言实现斐波那契数列的排列 本资源使用MIPS汇编语言在Mars环境下实现斐波那契数列的排列,并输出前n项的下标、十进制数值和十六进制数值。 知识点总结: 1. MIPS汇编语言基础知识:MIPS汇编语言是一种...

    Fibonacci(斐波那契)数列的JAVA解法

    输出Fibonacci数列是一种使用循环来输出斐波那契数列的方法。该方法的思想是使用循环来输出斐波那契数列的每个数字。下面是一个输出Fibonacci数列的JAVA代码: public class Fib{ public static void main(String ...

    java中斐波那契数列的简单实现方法.docx

    Java中斐波那契数列的简单实现方法 Java中斐波那契数列的简单实现方法是指使用Java语言来实现斐波那契数列的生成。斐波那契数列是指一个数列,其中每一项的值是前两项的和。这个数列有很多实际应用,例如解决兔子生...

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

    在编程中,特别是C++中,有多种方法可以实现计算斐波那契数列的第n项。非递归的函数调用方式通常比递归更有效率,因为它避免了重复计算和堆栈调用的开销。以下是一种使用循环的非递归方法: ```cpp #include using...

    求解fibonacci数列的前20项

    通过上述分析可以看出,给定的C语言代码实现了求解Fibonacci数列前20项的功能,并且代码结构清晰、易于理解。这种简单的迭代方法不仅能够高效地解决问题,同时也为学习者提供了一个良好的示例。对于进一步的需求,...

Global site tag (gtag.js) - Google Analytics