求1+2+3+…...+n

题目描述

求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

解题思路

有一种很妙很简洁的解法,用 && 短路,然后递归。

代码实现

1
2
3
4
5
6
7
class Solution {
public:
int Sum_Solution(int n) {
n && (n += Sum_Solution(n-1));
return n;
}
};