【刷题点滴】求1+2+3+...n

求1+2+3+…+n

JZ64 求1+n

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

我的思路

不允许用循环和乘除法,只能考虑用递归+加法来计算,而递归终止条件又不允许使用if,可以利用位运算。

class Solution {
    
    
public:
    int Sum_Solution(int n) {
    
      
        n && (n += Sum_Solution(n-1));
        return n;
    }
};

非常巧妙的运算

猜你喜欢

转载自blog.csdn.net/m0_73209194/article/details/131703899