js简单递归

190 阅读1分钟
 //1.斐波那契
 //1,1,2,3,5,8,13······
 //停止条件:n1=1,n2=1
 //寻找关系:1+1=2 ,1+2=3,2+3=5,3+5=8····
 //可得推论:每一个结果都等于前两项之和 f(n-1)+f(n-2)
 function fu(n){
     if(n===1||n===2){//停止条件
     return 1;
     }
     return f(n-1)+f(n-2);//关系
 }
 var res =fu(7)
 console.log(res);
 //结果为:13
 ​
 //2.阶乘
 //5!=1*2*3*4*5
 //4!=1*2*3*4
 //3!=1*2*3
 //2!=1*2
 //1!=1//停止条件
 //寻找关系:前一项的阶乘×于本身
  function fu(n){
         if (n === 1) {
             return 1;
         }
         return n * fu(n-1)
     }
     var res = fu(5)
     console.log(res);
 //结果为:120