• 面试题10:斐波那契数列


    10.1 斐波那契数列

    NowCoder

    <?php
    header("content-type:text/html;charset=utf-8");
    /*
     * 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39   P74
     */
    
    function Fibonacci($n)
    {
        if($n < 0  || $n > 39){
            return false;
        }
        if($n <= 1){
            return $n;
        }
        $res = 0;
        $res1 = 0;
        $res2 = 1;
        for($i = 2;$i<=$n;$i++){
            $res = $res1 + $res2;
            $res1 = $res2;
            $res2 = $res;
        }
        return $res;
    }
    
    $n = 39;
    echo Fibonacci($n);

    10.2 跳台阶

    NowCoder

    <?php
    header("content-type:text/html;charset=utf-8");
    /*
     * 一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。  P77
     */
    
    function jumpFloor($number)
    {
        if($number < 0){
            return false;
        }
        if($number <= 2){
            return $number;
        }
        $res = 0;
        $res1 = 1;
        $res2 = 2;
        for($i = 3;$i <= $number;$i++){
            $res = $res1 + $res2;
            $res1 = $res2;
            $res2 = $res;
        }
        return $res;
    }
    
    $n = 2;
    echo jumpFloor($n);

    10.3 矩形覆盖

    NowCoder

    <?php
    header("content-type:text/html;charset=utf-8");
    /*
     * 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?  P79
     */
    
    function rectCover($number)
    {
        if($number <0){
            return false;
    
        }
        if($number <=2){
            return $number;
        }
        $res = 0;
        $res1 = 1;
        $res2 = 2;
        for($i = 3;$i<=$number;$i++){
            $res = $res1 + $res2;
            $res1 = $res2;
            $res2 = $res;
        }
        return $res;
    }

    10.4 变态跳台阶

    NowCoder

    <?php
    header("content-type:text/html;charset=utf-8");
    /*
     * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。  P78
     */
    function jumpFloorII($number)
    {
        if($number <=0){
            return false;
        }
    
        return pow(2,$number-1);
    }
  • 相关阅读:
    在VMware中使用Nat方式设置静态IP
    saltstack实现自动化扩容
    saltstack常用模块
    saltstack之nginx、php的配置
    桶排序
    【前端安全】JavaScript防http劫持与XSS
    memcached
    10 行 Python 代码写的模糊查询
    为什么print在python3中变成了函数?
    一行python代码实现树结构
  • 原文地址:https://www.cnblogs.com/xlzfdddd/p/10155120.html
Copyright © 2020-2023  润新知