代码:
#include<iostream>
using namespace std;
int select[16],c=1,n;
void dfs(int k)
{
if(k==0)
{
if(select[1]!=n)
{
for(int i=1;i<c-1;i++) cout<<select[i]<<'+';
cout<<select[c-1]<<endl;
}
return;
}
for(int i=select[c-1];i<=k;i++)
{
if(k-i>=0)
{
select[c++]=i;
dfs(k-i);
}
select[c--]=0;
}
}
int main()
{
select[0]=1;
cin>>n;
dfs(n);
return 0;
}