1032

来源:互联网 发布:上海专业seo公司 编辑:程序博客网 时间:2024/06/06 22:43

"><img border="0" alt="Free Counters" src="http://counter.arrivalcounter.com/counter/1154931660/wow";

#include <iostream>using namespace std;void main(){int N;/*1。若剩余值(n-sum)等于i,则最后输出序列为:3、4、……、i、i+2,即将原最大序列每项加1,再将最后剩余的一个1加到最后一项上。2。若剩余值(n-sum)小于i,则从序列的最大项i开始,从大到小依次将每项加1,直到剩余值用完。*/cin >> N;int i,sum = 0;for (i = 2; i < N; ++i){if ((N - sum - i) < 0)break;sum += i;}if ((N - sum) == (i - 1)){int m = 2;for (; m < i - 1; ++m){cout << m + 1 << ' ';}cout << m + 2 << endl;}else if ((N - sum) < (i - 1)){int m = 2;        for(; m <= i - 1; m++)        {       if( i - m - 1 < N - sum)    cout << m + 1 <<" ";       else    cout << m <<" ";        }cout << endl;}}

 

原创粉丝点击