提交时间:2023-11-04 10:23:52

运行 ID: 108751

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