#include<iostream>
#include<vector>
using namespace std;
void Sum(int sum, vector<int>& v)
{
if(sum == 0)
{
vector<int>::iterator ite;
for(ite = v.begin(); ite != v.end(); ++ite)
{
cout << *ite <<" ";
}
cout << endl;
}
else
{
for(int i = 1 ; i <= sum ; ++i)
{
v.push_back(i);
Sum(sum-i,v);
v.pop_back();
}
}
}
int main()
{
int n;
vector<int> v;
Sum(4,v);
getchar();
return 0;
}
#include<vector>
using namespace std;
void Sum(int sum, vector<int>& v)
{
if(sum == 0)
{
vector<int>::iterator ite;
for(ite = v.begin(); ite != v.end(); ++ite)
{
cout << *ite <<" ";
}
cout << endl;
}
else
{
for(int i = 1 ; i <= sum ; ++i)
{
v.push_back(i);
Sum(sum-i,v);
v.pop_back();
}
}
}
int main()
{
int n;
vector<int> v;
Sum(4,v);
getchar();
return 0;
}