// test12.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<vector>
using namespace std;
vector<vector<int> > getNumSequence(int n)
{
vector< vector<int> > vectors;
vector<int> vec;
if(n <= 1)
return vectors;
int sum = 0;
for(int i = 1 ; i <= (int)((n+1)/2) ; i++)
{
sum += i;
vec.push_back(i);
if(sum == n)
{
vectors.push_back(vec);
int temp = vec.front();
vec.erase(vec.begin());
sum -= temp;
if(sum == n)
vectors.push_back(vec);
}
else if(sum > n)
{
while(sum > n)
{
int temp = vec.front();
vec.erase(vec.begin());
sum -= temp;
if(sum == n)
vectors.push_back(vec);
}
}
else
continue;
}
return vectors;
}
int main(int argc, char* argv[])
{
vector<vector<int> > vectors = getNumSequence(21);
for(int i = 0 ;i < vectors.size();i ++)
{
for(int j = 0;j < vectors[i].size();j ++)
cout<<vectors[i][j]<<" ";
cout<<endl;
}
cout<<endl;
return 0;
}