演示递归案例0-100的递增求和

这里演示,使用递归,求和 0 递增加到100的和dome,至于你,需要使用递归求多少范围的和,取决于,你的传参,以及判断条件,代码思路我分享以下4种,我以0-100累加演示。

方法一:

 function calc(number) {            //接收100
      if (number == 1) {   //判断如果传入的值等于1的时候
      return 1;          //就结束函数,并且返回值1
     }
    return number + calc(number - 1); //100+99 98   如果不满足上面的条件,就执行这里,传入的当前数字,加上当前数字减一,并且再次调用函数,传入的参数就是,当前数字减一,循环判断执行,直到不满足条件,结束函数。
    }
  let sum = calc(100);   //一个变量调用函数,并且传参100
  console.log(sum);    //输出累加的结果

方法二:

   let sum = 0, number = 0;     //先创建两个变量,初始值为0
        function calc(a) { //    接收一个100
            sum += number; //          变量一 +=变量二
            if (number < a) { //    然后再判断,变量二是不是小于100,如果小于,就自增,并且再次调用函数,继续循环判断,直到不满足条件,结束函数。
                number++;
                calc(100);
            }
        }
        calc(100);   //调用函数,传入一个100
        console.log(sum);   //求和结果

方法三:

        let sum = 0;     //  创建一个变量,初始值为0,用来存放累加总和
        function calc(number) { //    接收传入的数字100
            if (number >= 0) {  //判断我传入的数字,是不是大于等于0,
                sum += number;       //如果满足条件,变量就加上我当前传入的值。
                calc(--number);  //并且再次调用函数,把我开始传入的值,递减过后,再次传进函数
            }
        }
        calc(100);        //调用函数,传入一个数字100,
        console.log(sum);    //输出累加结果

方法四:

        let sum = 0;
        function foo(params) {         //接收100
            if (params <= 100 && params > 0) {       //判断如果。我输入的值,小于等于100,并且>0
                sum += params;                    //sum(0)就累加上当前接受的值
                params--;                       //加完过后,再自减
                foo(params);                     //再把自减后的值,再次传入形参,调用函数
            }
        }
        foo(100);  //调用函数,传入一个数字100
        console.log(sum);  //求和结果
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧梦星轨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值