Advertisement
hegemon88676

Untitled

Oct 27th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. int n,x[100],k,c=0;
  4. void init()
  5. {
  6. x[k]=0;
  7. }
  8. bool amsuccesor()
  9. {
  10. if(x[k]<2)
  11. {
  12. x[k]++;
  13. return true;
  14. }
  15. return false;
  16. }
  17. bool evalid()
  18. {
  19. int i,j, suma=0;
  20. for(i=1; i<=k; i++)
  21. suma=suma+x[i];
  22. if(suma>n) return false;
  23. return true;
  24. }
  25. bool solutie()
  26. {
  27. int i,suma=0;
  28. for(i=1; i<=k; i++)
  29. suma=suma+x[i];
  30. if(suma==n)
  31. return true;
  32. return false;
  33. }
  34. void tipar()
  35. {
  36. int i;
  37. cout<<n<<"=";
  38. for(i=1; i<k; i++)
  39. cout<<x[i]<<"+";
  40. cout<<x[k];
  41. cout<<endl;
  42.  
  43. }
  44. void back()
  45. {
  46. k=1;
  47. init();
  48. bool as,ev;
  49. while(k>0)
  50. {
  51. do
  52. {
  53. as=amsuccesor();
  54. ev=evalid();
  55. }
  56. while(as==1&&ev==0);
  57. if(as==1)
  58. if(solutie()==1)
  59. {
  60. tipar();
  61. c++;
  62. }
  63. else
  64. {
  65. k++;
  66. init();
  67. }
  68. else k--;
  69. }
  70. }
  71. int main()
  72. {
  73. cin>>n;
  74. back();
  75. cout<<endl<<endl<<c<<" solutii.";
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement