#include<iostream> using namespace std; #include<string> #include<algorithm> void f(int n,int a[],int k) { if(n==0) { for(int i=0;i<k;i++) { cout<<a[i]<<' '; } cout<<endl; return; } int i; for(i=n;i>=1;i--) { if(k>0&&i>a[k-1])continue; a[k]=i; f(n-i,a,k+1); } } int main() { int a[1000]; f(6,a,0); return 0; }