• 9 斐波那契数列Fibonacci


    题目1:写一个函数,输入n,求Fibonacci数列的第n项。该数列定义如下:

    n=0时,f(n)=0;        

    n=1时,f(n)=1;        

    n>1时,f(n)=f(n-1)+f(n-2)

    1、 效率差的递归算法:时间复杂度以n的指数的方式递增。因为求f(10)=f(9)+f(8);f(9)=f(8)+f(7);f(8)=f(7)+f(6);可以看出有很多项是重复计算的。

    //斐波那契数列,递归。通过测试
    //f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)
    public class Fibonacci{
        public static void main(String[] args){
            System.out.println(fibonacci(8));
        }
        public static int fibonacci(int n){
            if(n<=0){//此处避免无法处理n<0的情况!!!
                return 0;
            }
            if(n==1){
                return 1;
            }
            return fibonacci(n-1)+fibonacci(n-2);
            }
    }
    
        

    2、进一步改进,非递归算法(时间复杂度O(n))

    //斐波那契数列,非递归。通过测试
    //f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)
    public class Fibonacci{
        public static void main(String[] args){
            System.out.println(fibonacci(2));
        }
        public static int fibonacci(int n){
            if(n<=0){//此处避免无法处理n<0的情况!!!
                return 0;
            }
            if(n==1){
                return 1;
            }
            int minusOne = 1;
            int minusTwo = 0;
            int fibN = 0;
            for(int i = 2; i<=n; i++){
                fibN = minusOne + minusTwo;             
                minusTwo = minusOne;
                minusOne = fibN;
            }
            return fibN;
        }
    }
    
        

     题目2:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶共多少种跳法。答案:斐波那契数列f(n)=f(n-1)+f(n-2)

     题目3:一只青蛙一次可以跳上1级台阶,也可以跳上2级……也可以跳上n级。求该青蛙跳上一个n级的台阶共多少种跳法。答案:数学归纳法可得f(n)=2n-1

     题目4:可以用2*1(单位:cm)的小矩形横着或者竖着去覆盖更大的矩形。请问8个2*1的小矩形无重叠覆盖一个2*8的大矩形,共有多少中方法?

        答案:f(8)=f(7)+f(6),依然是斐波那契数列问题。

  • 相关阅读:
    Filter ,Interceptor,AOP
    React路由官方网站
    React的UI库以及国内镜像
    HBuilder+个推 实现app推动消息
    基于create-react-app再次配置
    使用 ES7 的 async/await 时报错—Uncaught ReferenceError: regeneratorRuntime is not defined
    微信小程序学习网站
    我的github地址
    如何在github搭建自己的项目
    Vue简单封装axios—解决post请求后端接收不到参数问题
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3669388.html
Copyright © 2020-2023  润新知