提交时间:2023-11-04 09:08:20

运行 ID: 108628

#include<bits/stdc++.h> using namespace std; int n,e[50],a=0,d=0; void chaifen(int c,int b) { d++; if(c==0){ a++; cout<<n<<"="; for(int i=1; i<=d-1; i++){ if(i==d-1){ cout<<e[i]<<endl; }else{ cout<<e[i]<<"+"; } } }else{ for(int i=b;i<=c && i<n;i++){ e[d]=i; chaifen(c-i,i); d--; } } } int main(){ //freopen("split.in","r",stdin); //freopen("split.out","w",stdout); cin>>n; chaifen(n,1); cout<<a; return 0; }