使用递归完成1到100的累加

递归函数

一个函数在它的函数体内调用它自身成为递归调用,这种函数称为递归函数。执行递归函数将反复调用自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层的由里向外退出。

递归函数:自我调用且有完成状态

递归的特点

  • 函数自己调用自己
  • 存在结束条件: 当符合结束条件时递归便不再继续。对于 factorial(),当形参 n 等于 0 或 1 时,递归就结束了。
  • 存在递推关系: 每次递归调用之后越来越接近结束条件。对于 factorial(),每次递归调用的实参为 n - 1,这会使得形参 n 的值逐渐减小,越来越趋近于 1 或 0。

递归函数应该只进行有限次的递归调用,否则它就会进入死循环,永远都不能退出了,还会导致栈溢出

递归实现1到100累加

// 思路
// 1、找出临界值,无需计算就能够得出的值。
// 2、找这一次和上一次的关系
// 3、假设这个函数已经写好,写出第n次和第n-1次的关系公式。
// sum(100) = sum(99) + 100;
// sum(n) = sum(n - 1) + n;

// 递归实现1到100累加
function sum(n) {
    if (n == 1) {
        return 1;
    }
    return sum(n - 1) + n; //递归调用
}
console.log(sum(100));

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值