题目描述:
求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
解题代码:
function Sum_Solution(n)
{
// write code here
return n && n + Sum_Solution(n-1);
}