剑指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;
}

 

posted @ 2018-04-11 06:31  汕大小吴  阅读(761)  评论(0编辑  收藏  举报