1 #include<iostream> 2 using namespace std; 3 int a[30]; 4 void dfs(int n,int index, int sindex,int sum) 5 { 6 if(sum==n) 7 { 8 cout<<n<<"="<<a[0]; 9 for(int i=1;i<sindex;++i) 10 { 11 cout<<"+"<<a[i]; 12 } 13 cout<<endl; 14 return ; 15 } 16 if(sum>n) 17 return ; 18 for(int i=index; i<n; ++i) 19 { 20 if(sum+i<=n) 21 { 22 a[sindex]=i; 23 dfs(n,i,sindex+1,sum+i); 24 } 25 } 26 } 27 int main() 28 { 29 int n; 30 cin>>n; 31 dfs(n,1,0,0); 32 return 0; 33 }