4月5日--关于算法的练习题--斐波那契数--杨辉三角形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4月5日--关于算法的练习题--斐波那契数--杨辉三角形相关的知识,希望对你有一定的参考价值。

/*要求:定义一个函数,接受一个正整数,返回该参数对应的斐波那契数
介绍:斐波那契数前2个数都是1 ,从第三个开始都是前2个数之和,如下:
1 、1、2、3、5、8、13、21、34……*/

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">

    /*要求:定义一个函数,接受一个正整数,返回该参数对应的斐波那契数
    介绍:斐波那契数前2个数都是1 ,从第三个开始都是前2个数之和,如下:
    1 、1、2、3、5、8、13、21、34……*/

    function fibonacci(n) {
        if(n==0){return 0;}
        if(n==1){return 1;}
        return fibonacci(n-1) + fibonacci(n-2);
    }
    for(var i=1;i<10;i++){
        var ret = fibonacci(i);
        console.log(ret);
    }

    </script>
</head>
<body>

</body>
</html>
/*要求:定义一个函数,接受含义为行数的正整数参数,如未提供则默认为5,输出相应行数的杨辉三角形
介绍:每个数都是其两肩之和,如果缺一肩,则以0代替,例如:第5行第3个数,就是第4行第2、3个数之和;
第4行第一个数就是0与第3行第一个数之和*/
// 1
// 1 1
// 1 2 1
// 1 3 3 1
//1 4 6 4 1
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">

    /*要求:定义一个函数,接受含义为行数的正整数参数,如未提供则默认为5,输出相应行数的杨辉三角形
     介绍:每个数都是其两肩之和,如果缺一肩,则以0代替,例如:第5行第3个数,就是第4行第2、3个数之和;
     第4行第一个数就是0与第3行第一个数之和*/
        //        1
        //      1   1
        //    1   2   1
        //  1   3   3   1
        //1   4   6   4   1



    function yanghui(row,col){
        if(row<1 || col<1){
            return 0;
        }
        if(row==1 || col==row || col==1){
            return 1;
        }
        return yanghui(row-1,col-1)+yanghui(row-1,col)
    }
    console.log(yanghui(3,2));


        
    </script>
</head>
<body>

</body>
</html>

 

以上是关于4月5日--关于算法的练习题--斐波那契数--杨辉三角形的主要内容,如果未能解决你的问题,请参考以下文章

Java与算法之 - 斐波那契数列

[算法学习]斐波那契数计算

次线性时间内的第 n 个斐波那契数

斐波那契数与二分法的递归与非递归算法及其复杂度分析

算法笔记_001:斐波那契数的多种解法

数据结构与算法之深入解析“斐波那契数”的求解思路与算法示例