`

费氏数列:1,1,2,3,5,8,13,21......求第n个的数值

 
阅读更多

/**
 *
 * 项目名称:study_project<br>
 * *********************************<br>
 * <P>类名称:Fibonacci</P>
 * *********************************<br>
 * <P>类描述:费氏数列:1,1,2,3,5,8,13,21......求第n个的数值</P>
 * 创建人:李飞<br>
 * 创建时间:2016年1月13日 下午1:57:30<br>
 * 修改人:李飞<br>
 * 修改时间:2016年1月13日 下午1:57:30<br>
 * 修改备注:<br>
 * @version 1.0<br>
 */
public class Fibonacci {
   
    public static void main(String[] args) {
       
        print(recursive(5));
       
        print(fn(5));
    }
   
    /**
     *
     * <p>方法描述: 利用数组计算Fibonacci</p>
     *
     * <p>方法备注: 利用数组计算Fibonacci</p>
     *
     * @param n
     * @return
     *
     * <p>创建人:李飞</p>
     *
     * <p>创建时间:2016年1月13日 下午2:24:37</p>
     *
     */
    public static long fn(int n){
       
        long result = 0;
       
        long[] reslutArry = new long[n];
       
        for(int i=0 ; i < n ; i ++){
            if(i == 0) reslutArry[i] = 1;
            if(i == 1) reslutArry[i] = 1;
            if(i > 1)  reslutArry[i] = reslutArry[i-1] + reslutArry[i-2];
        }
       
        result = reslutArry[n-1];
       
        return result;
    }

   
    /**
     *
     * <p>方法描述: 递归计算Fibonacci</p>
     *
     * <p>方法备注: 递归计算Fibonacci</p>
     *
     * @param n
     * @return
     *
     * <p>创建人:李飞</p>
     *
     * <p>创建时间:2016年1月13日 下午2:12:48</p>
     *
     */
    public static long recursive(int n){
       
        if(n <= 0) throw new RuntimeException("N cannot be less than or equal to zero! ");
       
        long reslut = 0;
       
        switch (n) {
        case 1:
            reslut = 1;
            break;
        case 2:
            reslut = 1;
            break;
        default:
            reslut = recursive(n-1) + recursive(n-2);
            break;
        }
        return reslut;
    }
   
    public static void print(long result){
        System.out.println(result);
    }
}

分享到:
评论

相关推荐

    费氏数列算法 整个工程文件下载

    费氏数列算法 整个工程文件下载,欢迎大家分享

    费氏搜寻算法

    费氏搜寻会先透过公式计算求出第一个要搜寻数的位置,以及其代 表的费氏数,以搜寻对象10个数字来说,第一个费氏数经计算后一定是F5,而第一个要搜寻的位置有两个可能,例如若在下面的数列搜寻的话(为了计算方便, ...

    通达信费波纳茨数列均线主图指标.doc

    通达信费波纳茨数列均线主图指标.doc

    经典算法大全.

    1.河内之塔2 费式数列3. 巴斯卡三角形4.三色棋5老鼠走迷官(一)6. 老鼠走迷官(二)7. 骑士走棋盘8. 八皇后9. 八枚银币10. 生命游戏11.字串核对12. 双色、三色河内塔13.背包问题(Knapsack Problem)14. 蒙地卡罗法...

    C经典算法之费氏搜寻法

    二分搜寻法每次搜寻时,都会将搜寻区间分为一半,所以其搜寻时间为O(log(2)n),log(2)表示以2为底的log值,这边要介绍的费氏搜寻,其利用费氏数列作为间隔来搜寻下一个数,所以区间收敛的速度更快,搜寻时间为O(logn...

    经典算法(C语言)

    1.汉若塔........................................................................................................................................................2 2.费式数列..............................

    计算Fibonacci数列任意项计算

    F(N)=F(N-1)+F(N-2) // F(2)=F(1)=1 自写的c\c++代码, 使用数组实现加法计算器来计算费波那西数列. 通过设定数组长度, 通过编译后, 可以计算费氏数列的任意一项数值的计算. 如果有问题,可以发邮件和我交流 :) ...

    经典算法大全.pdf

    河内之塔 4 2.Algorithm Gossip: 费式数列 5 3. 巴斯卡三角形 6 4.Algorithm Gossip: 三色棋 7 5.Algorithm Gossip: 老鼠走迷官(一) 9 6.Algorithm Gossip: 老鼠走迷官(二) 11 7.Algorithm ...

    基于费氏树的费氏查找思想的探索与实现

    本文档详细的说明了费氏树的创建和费氏查找中的一些关键概念,对于什么是费氏查找而理清思路!

    经典算法(C语言)包含51个经典算法的C语言实现

    2.费式数列 3 3. 巴斯卡三角形 4 4.三色棋 5 5.老鼠走迷官(一) 7 6.老鼠走迷官(二) 9 7.骑士走棋盘 10 8.八皇后 13 9.八枚银币 15 10.生命游戏 17 11.字串核对 20 12.双色、三色河内塔 22 13.背包问题(Knapsack...

    C语言 经典算法 算法大全

    2.费式数列 3 3. 巴斯卡三角形 4 4.三色棋 5 5.老鼠走迷官(一) 7 6.老鼠走迷官(二) 9 7.骑士走棋盘 10 8.八皇后 13 9.八枚银币 15 10.生命游戏 17 11.字串核对 20 12.双色、三色河内塔 22 13.背包问题(Knapsack...

    MIT_Introduction to Algorithms 算法导论视频字幕

    4 第三课 各个击破法: Strassen 算法,费氏数列,多项式乘法。 阅读:28 章第 2 节,30章第1节 5 演示课 2 递归公式,松散性 阅读:Akra-Bazzi 的讲义 6 第四课 快速排序法,随机化算法 阅读:5 章 1 到 3 节,7 ...

    【“,乳母费氏”阅读答案附翻译】 东方朔救乳母阅读答案.docx

    【“,乳母费氏”阅读答案附翻译】 东方朔救乳母阅读答案.docx

    费氏搜寻法.zip

    字符串匹配算法:字符串匹配算法用于在一个字符串(文本)中查找一个子串(模式)的出现位置。常见的字符串匹配算法包括暴力匹配、KMP算法、Boyer-Moore算法等。 这些是计算机科学中常见的算法类型,每种算法都有...

    费氏链霉菌HTP6分批发酵动力学研究

    费氏链霉菌HTP6分批发酵动力学研究,张新刚,侯太平,对费氏链霉菌HTP6产新霉素的分批发酵动力学进行了研究,并建立了动力学模型。对数生长期最大比生长速率μm为0.0866 h-1,产物合成期最�

    python函数定义和调用过程详解

    我们可以创建一个函数来列出费氏数列 &gt;&gt;&gt; def fib(n): # write Fibonacci series up to n ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a &lt; n end=' ' xss=removed&gt;&gt;&gt; #

    day210314_fortran90_

    for循环 费氏数列规则相加,输出费氏数列前10个数字

    day210314_Fortran_

    for循环 费氏数列的数列规则,输出数列的前10个数字。

    拈及其各种变形游戏

    拈及其各种变形游戏 &lt;br&gt;(1)拈(Nim)这种游戏 (2)威氏游戏(Wythoff's Game) (3)费氏数列及进位法 (4)威氏游戏的致胜方法 (5)单堆游戏 (6)结语

Global site tag (gtag.js) - Google Analytics