-
要求:
- 不能使用乘除法
- 不能使用if、while、switch等语句
-
解题思路分析:
- for循环可以用递归来代替
- 不能用if判断语句可以用逻辑运算符来代替
题解:
var sumNums = function(n) {
//逻辑与&&运算符的短路特性
//n为false则不会执行后续代码
//n为true则返回的是&&后边的代码
//即:
// 如果n大于0则返回n+sunNums(--n)
// 如果n等于0了则执行停止了
return n && n+sumNums(--n);
};
来源:oschina
链接:https://my.oschina.net/u/4207725/blog/3182814