1.题目链接
求1+2+3+...+n_牛客题霸_牛客网
2.解题思路
利用C++构造函数的特性 既然不能使用循环 那么我们可以定义n个对象 就会调用n次构造函数
去代替循环 每次调用的时候进行加法的计算
3.代码
class Sum
{
public:Sum(){_sum += _i;++_i;}static void Init(){_i = 1;_sum = 0;}static int GetSum(){return _sum;}private:static int _i;static int _sum;
};//定义加初始化
int Sum::_i = 1;
int Sum::_sum = 0;class Solution {
public:int Sum_Solution(int n) {//Sum a[n];//C99变长数组//定义n个对象 调用n次构造函数 代替循环//最后_sum就是1+2+......+n//OJ多个测试用例一次测试 每次开始前要初始化Sum::Init();Sum* p = new Sum[n];//动态开辟return Sum::GetSum();}
};
4.运行结果
【C++ OJ练习】1.求和 完