劍指offer:不是用乘除和判斷條件進行求和 C++

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

//使用靜態變量
//注意靜態變量屬於類,只能通過類進行訪問,同時需要再類外進行定義,靜態變量只能通過靜態成員函數操作
class Solution {
public:
    static int N;
    static int sum;
    static void Set(){
        N = 0;
        sum = 0;
    }
    static int getSum(){
        return sum;
    }
    Solution(){
        N++;
        sum+=N;
    }
    int Sum_Solution(int n) {
        Set();
        Solution *tmp = new Solution[n];
        delete[] tmp;
        tmp = NULL;
        return Solution::getSum();
    }
};
int Solution::N =0;
int Solution::sum =0;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章