#include <bits/stdc++.h> using namespace std; int a[1001],n; void dfs(int p,int c,int s){ if(s==n){ cout<<n<<"="<<a[0]; for(int i=1; i<c; i++) cout<<'+'<<a[i]; cout<<endl; return; } if(s>n) return ; for(int i=p; i<n; i++){ a[c]=i; dfs(i,c+1,s+i); } } int main() { cin>>n; dfs(1,0,0); return 0; }
标签:std,return,int,自然数,dfs,拆分 From: https://www.cnblogs.com/jck211303/p/17572993.html