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.  
  28. vector<int> currentSubset;
  29. generateSubsets(3, currentSubset, 1);
  30. }
Success #stdin #stdout 0.01s 5296KB
stdin
Standard input is empty
stdout
{}
{3}
{2}
{2, 3}
{1}
{1, 3}
{1, 2}
{1, 2, 3}