XIN'BOLG

导航

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>

 

posted on 2017-04-07 16:13  XIN'BOLG  阅读(131)  评论(0编辑  收藏  举报