求1+2+…+n
时间限制:1秒 空间限制:32768K 热度指数:103360
题目描述
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
题目分析
可以通过定义一个n维的对象数组来实现n个数的加法,代码如下:
代码实现
class A
{
private:
static int m_iOrder;
static int m_iSum;
public:
A()
{
m_iOrder++;
m_iSum += m_iOrder;
}
static void Init()
{
m_iOrder = ;
m_iSum = ;
}
static int getSum()
{
return m_iSum;
}
};
int A::m_iOrder = ;
int A::m_iSum = ;
class Solution {
public:
int Sum_Solution(int n) {
A::Init();
A *a = new A[n];
delete[] a;
return A::getSum();
}
};