题目描述
求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
样例
输入:10
输出:55
利用与运算和短路,(A表达式&&B表达式时,若A已经为0,则不会再判断B),进行递归。
C++ 代码
class Solution {
public:
int getSum(int n) {
int ret=n;
n>0&&(ret+=getSum(n-1));//利用短路,若n<=0则不会在执行&&后面的操作
return ret;
}
};