#include<bits/stdc++.h>
using namespace std;
long long n,nn,save[1000]={1};
void print(long long i){
for(int j=1;j<=i-1;j++){
cout<<save[j]<<"+";
}
cout<<save[i]<<endl;
}
void dfs(long long i){
for(int j=save[i-1];j<=n;j++){
if(j==n){
continue;
}
if(j<n){
save[i]=j;
n-=j;
if(n==0){
print(i);
}else{
dfs(i+1);
}
n+=j;
}
}
}
int main(){
cin>>nn;
n=nn;
dfs(1);
return 0;
}
无输出,求助