#include
using namespace std;
int n;
int a[1000];
void dfs(int index){
int sum=0;
for(int i=1;i sum+=a[i];
}
if(sum==n){
for(int i=1;i cout }
cout return;
}
if(index>n){
return;
}
for(int i=1;i if(i>=a[index-1]){
a[index]=i;
dfs(index+1);
}
}
}
int main(){
cin>>n;
dfs(1);
return 0;
}
dfs爆搜一般都是剪枝的优化,你不知道剪枝可以百度一下