求1+2+3+.....n 要求不能使用乘除法,以及for while if else 以及各种条件判断语句

这道题有一个非常简单的解法,就是使用逻辑与。直接上代码:

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

就是这么简单的一种解法,通过逻辑与,这样即使n为0的时候,返回值也是0,因为&&前面为假的时候,后面语句将不会执行,但是这个代码的缺点就是时间复杂度太大,为O(n)。

后面我将有空的时候在下面补充其他解法。

发布了27 篇原创文章 · 获赞 8 · 访问量 2140

猜你喜欢

转载自blog.csdn.net/hgxy123/article/details/97647198