递归函数举例

      //n项求和数列  例如:100以内求和  1+2+3+...+98+99+100=5050
      function sum(n) {
        if(n===1) return 1;
        return sum(n-1)+n;   
      }

      var hh=sum(100);   //5050
      console.log(hh);


      //n以内奇数求和数列 例如:10以内奇数求和  1+3+5+7+9=25
      function odd(n) {
        if(n%2===0){n--;}
        if(n===1) return 1;
        return n+odd(n-2);      
      }
      var hhll=odd(10);   //25
      console.log(hhll);



      //菲波那切数列 1,1,2,3,5,8,13,21...
      function fib(n) {
        if(n===1 || n===2) return 1;
        return fib(n-1)+fib(n-2);
        
      }

      var hhkk=fib(6);   //8 
      console.log(hhkk);


      //阶乘 1*2*3*4*5
      function factorial(n) {
        if(n===1) return 1;
        return factorial(n-1)*n;
        
      }

      var jji=factorial(4);   //24
      console.log(jji);

  

      //求幂 例如:2的3次方 2^3=8
      function power(n,m) {
        if(m===0) return 1;
        return power(n,m-1)*n;       
      }

      var oop=power(2,3);   //8
      console.log(oop);


      //反转字符串
      function reverString(str,len,outstr) {
        if(len<0) return outstr;
        outstr +=str.charAt(len--);
        return reverString(str,len,outstr)       
      }
      var str='abcdefg';
      var outstr='';
      var hgt=reverString(str,str.length-1,outstr);   
      console.log(hgt);   //gfedcba

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值