剑指offer----求1+2+3+...+n
程序员文章站
2022-03-13 12:27:53
...
题目描述:
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
class Temp
{
public:
Temp()
{
_sum += _count;
_count++;
}
static unsigned int coutsum()
{
return _sum;
}
static void reset()//因为有多组测试用例,所以每次计算前应该先初始化
{
_count = 1;
_sum = 0;
}
private:
static int _count;//每个元素的值
static int _sum;//总和
};
int Temp::_count = 1;
int Temp::_sum = 0;
class Solution {
public:
int Sum_Solution(int n)
{
Temp::reset();
Temp *t = new Temp[n];
delete []t;
t = nullptr;
return Temp::coutsum();
}
};