求1+2+3+…+n
题目
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
解决方案一
- 建立构造函数
- 让构造函数重复N次
代码一
class Temp{
public:
Temp(){++N;Sum+=N;}
static void Reset(){N=0;Sum=0;}
static int GetSum(){return Sum;}
private:
static int N;
static int Sum;
};
int Temp::N=0;
int Temp::Sum=0;
class Solution {
public:
int Sum_Solution(int n) {
Temp::Reset();
Temp *a = new Temp[n];
delete []a;
a = nullptr;
return Temp::GetSum();
}
};
复习内容
- C++ 类
- static
- 构造函数