题解 | #求1+2+3+...+n#

求1+2+3+...+n

https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1

class Sum
{
public:
   //构造函数完成初始化
    Sum()
    {
        _sum+=_i;
        _i++;
    }
    
    //每次测试输入调用完整个代码之后,要重置一下_sum和_i
    //不然下一次输入n的时候,初始时_sum和_i还是上一次的值
    static void Init()
    {
        _sum=0;
        _i=1;
    }


    //返回_sum的值
    static int GetSum()
    {
        return _sum;
    }
private:
   //static成员可以保持是同一个_sum和_i变量
   //利于累加
   static int _sum;
   static int _i;
};

//static成员得在类外面定义
int Sum::_sum=0;
int Sum::_i=1;


class Solution {
public:
    int Sum_Solution(int n) {
        //每次进来时先要完成:
        //重置一下_sum和_i
        Sum::Init();
        //定义了一个含有n个元素的数组对象
        //这n个元素都是Sum这个类所创建的对象
        //所以上面的构造函数要调用n次
        //就相当于完成了累加的循环
        Sum a[n];
        //返回的就是Sum中GetSum所返回的经历n次调用后的_sum的值
        return Sum::GetSum();
    }
};

全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:29
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务