zoukankan      html  css  js  c++  java
  • 斐波那契数列(七)

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。

    n<=39

    var readline=require("readline");
    var rl=readline.createInterface({
        input:process.stdin,
        output:process.stdout
    })
    
    var n=-1,cur_line=0;
    
    rl.on('line',function(line){
        console.log(Fibonacci(parseInt(line)));
    })
    
    /**
     * 递归的时间复杂度太高
     */
    function Fibonacci(n){
    
        if(n==0){
            return 0;
        }
    
        if(n==1){
            return 1;
        }
    
        return Fibonacci(n-1)+Fibonacci(n-2);
    }
    
    
    /**
     * 改用迭代法
     */
    
    function Fibonacci(n){
        if(n<1){
            return n;
        }
        else{
            var f0=0,f1=1;
            var f2;
            for(var i=2;i<=n;i++){
                f2=f0+f1;
                // f1=f2;
                // f0=f1; 这里的顺序千万不能错了
    
                /**
                 * 注意!!!应该是
                 */
                f0=f1;
                f1=f2;
    
            }
    
            return f2;
        }
    }
    
    
    /**if(n==1||n==0){return n};
        var arr=[0,1];
        for(var i=2;i<=n;i++){
            arr.push(arr[arr.length-1]+arr[arr.length-2])
        }
        return arr[n];
        **/
  • 相关阅读:
    第十二周作业
    第十二周上机练习
    第十一周作业
    第十一周上机练习
    第十周上机作业
    第九周上机练习
    第八周作业
    软件测试第一次作业
    Jsp第二次作业
    JSP第一次作业
  • 原文地址:https://www.cnblogs.com/cmy1996/p/9601338.html
Copyright © 2011-2022 走看看