提交时间:2023-11-04 10:21:19

运行 ID: 108745

#include<bits/stdc++.h> using namespace std; int a[10100] = {1}; int x,cnt=0; void search(int a,int k) { for(int i=a[k-1];i<=a;i++) { if(i<x) { a[k] = i; a-=i; if(a==0){ cout<<x<<"="; for(int j=1;j<k;j++){ cout<<a[j]<<'+'; } cout<<a[k]<<endl; cnt++; return; } else{ search(a,k+1); } a+=i; a[k] = 0; } } return; } int main() { cin>>x; search(x,1); cout<<cnt<<endl; return 0; }