题目描述:

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

知识点:

  • 递归

解题思路:

  • 这道题要我们求1+2+3+…+n的值,但是不能使用循环判断等语句
  • 我们首先想到的是使用递归来解决,sum(n-1) + n
  • 那么既然不能使用判断怎么退出循环呢,我们可以巧妙的利用一个短路运算符来解决即
  • return n && sum(n-1) + n,只要发现n为0便返回0

解题代码:

  1. function Sum_Solution(n)
  2. {
  3. // write code here
  4. return n && n + Sum_Solution(n-1);
  5. }