```cpp
#include <iostream>
using namespace std;
int n;
int out[110];
void dfs(int step,int num,int num1)
{
if(num>n) return ;
if(num==n&&step>=2)
{
cout<<out[2];
for(int i=3;i<=step;i++)
{
cout<<"+"<<out[i];
}
cout<<endl;
return ;
}
for(int i=num1;i<n;i++)
{
out[step+1]=i;
dfs(step+1,num+i,i);
}
}
int main()
{
cin>>n;
dfs(1,0,1);
return 0;
}
```
可以参考一下本蒟蒻的代码(~~其实是懒得看)~~
by _____QWQ_____ @ 2023-12-07 20:03:02
tip:其实没必要开long long
by _____QWQ_____ @ 2023-12-07 20:03:29
@[______QAQ______](/user/1092781) 他开的是```int```,在宏定义里写了
by QoQ_ @ 2023-12-07 20:05:19
啊.....看习惯了....
by _____QWQ_____ @ 2023-12-07 20:16:02
@[wshzy2023](/user/1098172) 你这复杂度不对吧
by zheng_zx @ 2023-12-07 20:22:12