1318:【例5.3】自然数的拆分
与 分解因数 、 组合的输出 不能说相似,只能说是一模一样。
大致思路参考以上两篇。
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 const int N=105; 6 int n,a[N]; 7 8 void solve(int b,int s,int l){ 9 if(b>0){ 10 for(int i=s;i<=b;i++){ 11 a[l]=i; 12 solve(b-i,i,l+1); 13 } 14 }else{ 15 if(l>2){ 16 printf("%d=%d",n,a[1]); 17 for(int i=2;i<l;i++) 18 printf("+%d",a[i]); 19 cout<<endl; 20 } 21 } 22 } 23 int main(){ 24 cin>>n; 25 solve(n,1,1); 26 return 0; 27 }