题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
【分析】——短路求值。
1. 效率快
2. 代码优雅
逻辑与短路求值:当前者为false时,不再计算后面的,直接返回false;
class Solution {
public:
int Sum_Solution(int n) {
int ans = n;
// &&就是逻辑与,逻辑与有个短路特点,前面为假,后面不计算。即递归终止条件
ans && (ans += Sum_Solution(n - 1));
return ans;
}
};