Advertisement
rofllmaolol

descompunere bck

Feb 26th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int st[100], i, k, n, s;
  4. void init()
  5. {
  6.     st[k]=0;
  7. }
  8. int succesor()
  9. {
  10.     s=0;
  11.     if(k>1)
  12.         for(i=1;i<k;i++)
  13.             s+=st[i];
  14.     if(st[k]<n-s)
  15.         {
  16.             st[k]++;
  17.             return 1;
  18.         }
  19.     else return 0;
  20. }
  21. int valid()
  22. {
  23.         return 1;
  24. }
  25. int solutie()
  26. {
  27.     s=0;
  28.     for(i=1;i<=k;i++)
  29.         s+=st[i];
  30.     return s==n;
  31. }
  32. void tipar()
  33. {
  34.     for(i=1;i<k;i++)
  35.         cout<<st[i]<<" ";
  36.     cout<<st[k];
  37.     cout<<endl;
  38. }
  39. void btr()
  40. {
  41.     int AS;
  42.     k=1;
  43.     init();
  44.     while(k>0)
  45.     {
  46.         do
  47.         {}while((AS=succesor())&&(!valid()));
  48.     if(AS)
  49.         if(solutie())
  50.             tipar();
  51.         else
  52.         {
  53.             k++;
  54.             init();
  55.         }
  56.     else k--;
  57.     }
  58. }
  59. int main()
  60. {
  61.     cin>>n;
  62.     btr();
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement