递归常见习题

递归练习

(一)阶乘:

方法:1. 找规律
    2. 找出口 必须用一个已知的数去替代最后的式子

 eg:实现n的阶乘
 
       function jc(n){
          if(n == 1){
             return 1;
          }
          return n * jc(n - 1);
       }
       
    规律:n! = n * (n - 1)!;   n的阶乘 = n * (n-1)的阶乘
    出口:最后都用1的阶乘作为出口

注意: 1) 0的阶乘:1
    2)负数没有阶乘

(二)斐波那契数列:

 eg:  fb(n) == fb(n - 1) + fb(n - 2)
          function fb(n){
        	  //找出口
        	  if(n == 1 || n == 2){
        		  return 1;
        	  }
        	  return fb(n -1) + fb(n - 2);
          }
        
     规律:第n位 = 第n-1位 + 第n-2位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值