fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. void generateSubsets(int n, vector<int>& currentSubset, int currentNumber) {
  7. if (currentNumber > n) {
  8. cout << "{";
  9. for (int i = 0; i < currentSubset.size(); i++) {
  10. cout << currentSubset[i];
  11. if (i != currentSubset.size() - 1) {
  12. cout << ", ";
  13. }
  14. }
  15. cout << "}" << endl;
  16. return;
  17. }
  18.  
  19. generateSubsets(n, currentSubset, currentNumber + 1);
  20.  
  21. currentSubset.push_back(currentNumber);
  22. generateSubsets(n, currentSubset, currentNumber + 1);
  23.  
  24. currentSubset.pop_back();
  25. }
  26. int main() {
  27. int n;
  28. cout << "Введите N: ";
  29. cin >> n;
  30.  
  31. cout << "Все подмножества множества {1, 2, ..., " << n << "}:" << endl;
  32. vector<int> currentSubset;
  33. generateSubsets(n, currentSubset, 1);
  34. }
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
Введите N: Все подмножества множества {1, 2, ..., 0}:
{}