题解 | #和为S的连续正数序列#

和为S的连续正数序列

http://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe

数学方法

  public:
    vector<vector<int> > FindContinuousSequence(int sum) {
        int sumn = 1;
        double num = 2.0, ret = 1.1,temp;
        vector<vector<int>> vec;
        vector<int> tem;
        if(sum<3){
            return vec;
        }
        while (ret > 0) {
            temp=sum - sumn;
            ret =temp / num;
            if (abs(ret - ceil(ret)) == 0 && ret>0) {
                for (int i = 0; i < num; i++) {
                    tem.push_back(ret + i);
                }
                vec.push_back(tem);
                tem.clear();
            }
            num++;
            sumn = sumn + (num - 1);
        }
       
        sort(vec.begin(),vec.end(),[](vector<int> a,vector<int> b){
            return a[0]<b[0];
        });
        return vec;
    }
};
全部评论

相关推荐

02-05 08:18
四川大学 Java
在思考的熊熊很讨厌吃香菜:不是,我门头沟学院呢?这都没排上?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务