题目

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
示例 1:

输入: n = 3
输出: 6
示例 2:

输入: n = 9
输出: 45
限制:

1 <= n <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/qiu-12n-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

1.骤死性
利用语言的局部短路造成返回,形成递归出口

  1. /**
  2. * @param {number} n
  3. * @return {number}
  4. */
  5. var sumNums = function (n) {
  6. let res = n
  7. n && (res += sumNums(n - 1))
  8. return res
  9. };