ulvis.paste.net - pastebin

Paste Search Dynamic
Recent pastes
recur
  1. /*input
  2. 8
  3. */
  4. #include <bits/stdc++.h>
  5. using namespace std;
  6.  
  7. #define el "\n"
  8. #define mp make_pair
  9. #define pb push_back
  10. #define int long long
  11.  
  12. int n,cnt=0,a[100],sum=0;
  13.  
  14. signed recur(int id) {
  15.         if(id == n + 1) {
  16.                 if(sum == n) {
  17.                         for(int i = 1;i<=n;i++) {
  18.                                 if(a[i]!=0)     
  19.                                         if(i==n) cout<<a[i];
  20.                                         else cout<<a[i]<<" + ";
  21.                         }
  22.                         cout<<" = "<<n<<el;
  23.                         cnt++;
  24.                 }
  25.         } else {
  26.                 for(int i = a[id-1];i<=n;i++) {
  27.                         a[id]=i;
  28.                         sum+=i;
  29.                         if(sum<=n) recur(id+1);
  30.                         sum-=i;
  31.                 }
  32.         }
  33. }
  34.  
  35. signed main() {
  36.         cin>>n;
  37.         a[0]=0;
  38.         recur(1);
  39.         cout<<el<<cnt;
  40. }
Parsed in 0.004 seconds