Documente Academic
Documente Profesional
Documente Cultură
Varianta recursiv
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. #include<iostream> using namespace std; int x[31];//partitia int n,nc,nr;//n numarul de elemente //nc numarul de clase //numarul de partitii void tipar() { int i,j; nr++; cout<<"Partitia "<<nr<<": "; for(i=1;i<=nc;i++) { cout<<" { "; for(j=1;j<=n;j++) if(x[j]==i)cout<<j<<' '; cout<<"} "; } cout<<endl; } void back(int k) { int i; if(k==n+1)tipar(); else { for(i=1;i<=nc;i++) { x[k]=i; back(k+1); } nc++; x[k]=nc; back(k+1); nc--; } } int main() { cin>>n; back(1); cout<<nr<<" partitii"; return 0; }