欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

剑指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();
	}
};