提交时间:2021-06-19 20:06:44
运行 ID: 20705
#include <bits/stdc++.h> using namespace std; int n; int a[105]; void dfs(int sum,int deep,int ma) { if(sum>=n) { if(sum==n) { cout<<n<<'='<<a[1]; for(int i=2; i<=deep; i++)cout<<'+'<<a[i]; cout<<endl; } } else { for(int i=min(ma,n-sum); i>=1; i--) { a[deep+1]=i; dfs(sum+i,deep+1,a[deep+1]); } } } int main() { cin>>n; dfs(0,0,n); }