求1+2+3...+n

2020-04-21  本文已影响0人  su945

题目描述

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

问题分析

解题思路1

递归方法进行解决

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

解题思路2

通过求取二维数据大小的方式,并结合左移实现公式n*(n+1)/2

class Solution {
public:
    int Sum_Solution(int n) {
        bool a[n][n+1];
        return sizeof(a)>>1;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读