fork download
  1. #include <stdio.h>
  2. #define DIM 100
  3.  
  4. int n, stack[DIM];
  5.  
  6. void subset(int level) {
  7.  
  8. for(int i = 1; i <= level;++i) {
  9.  
  10. printf("%d ", stack[i]);
  11.  
  12. }
  13.  
  14. printf("\n");
  15. }
  16.  
  17. void solve(int level){
  18.  
  19. if(level<=n) {
  20. for(int i = stack[level-1]+1; i <= n; ++i) {
  21. stack[level] = i;
  22. subset(level);
  23. solve(level+1);
  24. }
  25. }
  26. }
  27.  
  28. int main(int argc, char const *argv[]) {
  29.  
  30. scanf("%d", &n);
  31. solve(1);
  32.  
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 5548KB
stdin
3
stdout
1 
1 2 
1 2 3 
1 3 
2 
2 3 
3