剑指offer(47)求1+2+3+...+n
题目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
题目分析
不能用乘除也就不能用公示了,并且不能用循环,那么说只能用递归了。
可是递归要终止条件呀,不能用if-else终止呀,那么只能用逻辑运算符了。
逻辑运算符当中的短路运算符有&&和||,这里只能用&&。
代码
function SumSolution(n) { return n && Sum_Solution(n - 1) + n; }