【JS】小作业-阶乘递归思想

function mul(n){

    if( n - 1 == 0){  ///出口,也就是停止条件,不然就是一个死循环了。实际上是执行到最后一个数,这个数就是基数,这个基数是我们已知的,定义后就可以递归了。

        return 1;    

    }

    return n * mul(n-1); ///规律

}

// 5*4*3*2*mul(1)

console.log(mul(4));

///递归比较符合人的直观思维规律,但递归需要有出口.需要有实际的数据作为出口



///斐波那契数列


/// F(N) = F(N-1) + F(N-2)

///初始元素 = 1,1

///1,1,2,3,5,8,13

var num = window.prompt('input');

function Feboo(n){

///斐波那契数列求和

    if(n == 1 || n ==2){

        return 1;        /////已知条件也是递归终止条件

    }

    return Feboo(n-1) + Feboo(n - 2);   ///规律

}

console.log(Feboo(num));


///递归:

1.先写return 规律

2.写已知条件作为终止条件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。