fork download
  1. /*
  2.  * Description: Generate all subsets of a set in Java.
  3.  *
  4.  * Author : Adrian Statescu
  5.  *
  6.  * License : MIT
  7.  */
  8.  
  9. import java.util.Scanner;
  10. import java.io.*;
  11.  
  12. public class Main {
  13.  
  14. public static int pow(int a, int b) {
  15.  
  16. int r = 1;
  17.  
  18. for(int i = 1; i <= b; ++i) {
  19.  
  20. r = r * a;
  21. }
  22.  
  23. return r;
  24. }
  25.  
  26. public static void generate_all_subsets(int n) {
  27.  
  28. int total = pow(2, n);
  29.  
  30. for(int i = 1; i < total; ++i) {
  31.  
  32. for(int j = 0; j < n; ++j ) {
  33.  
  34. if((i & (1<<j))!=0) System.out.printf("%d ", (j+1));
  35.  
  36. }
  37.  
  38. System.out.println("");
  39.  
  40. }
  41.  
  42. }
  43.  
  44.  
  45. public static void main(String[] args) {
  46.  
  47. Scanner scanner = new Scanner(System.in);
  48.  
  49. int n = scanner.nextInt();
  50.  
  51. scanner.close();
  52.  
  53. generate_all_subsets( n );
  54.  
  55.  
  56. }
  57. }
Success #stdin #stdout 0.17s 37252KB
stdin
7
stdout
1 
2 
1 2 
3 
1 3 
2 3 
1 2 3 
4 
1 4 
2 4 
1 2 4 
3 4 
1 3 4 
2 3 4 
1 2 3 4 
5 
1 5 
2 5 
1 2 5 
3 5 
1 3 5 
2 3 5 
1 2 3 5 
4 5 
1 4 5 
2 4 5 
1 2 4 5 
3 4 5 
1 3 4 5 
2 3 4 5 
1 2 3 4 5 
6 
1 6 
2 6 
1 2 6 
3 6 
1 3 6 
2 3 6 
1 2 3 6 
4 6 
1 4 6 
2 4 6 
1 2 4 6 
3 4 6 
1 3 4 6 
2 3 4 6 
1 2 3 4 6 
5 6 
1 5 6 
2 5 6 
1 2 5 6 
3 5 6 
1 3 5 6 
2 3 5 6 
1 2 3 5 6 
4 5 6 
1 4 5 6 
2 4 5 6 
1 2 4 5 6 
3 4 5 6 
1 3 4 5 6 
2 3 4 5 6 
1 2 3 4 5 6 
7 
1 7 
2 7 
1 2 7 
3 7 
1 3 7 
2 3 7 
1 2 3 7 
4 7 
1 4 7 
2 4 7 
1 2 4 7 
3 4 7 
1 3 4 7 
2 3 4 7 
1 2 3 4 7 
5 7 
1 5 7 
2 5 7 
1 2 5 7 
3 5 7 
1 3 5 7 
2 3 5 7 
1 2 3 5 7 
4 5 7 
1 4 5 7 
2 4 5 7 
1 2 4 5 7 
3 4 5 7 
1 3 4 5 7 
2 3 4 5 7 
1 2 3 4 5 7 
6 7 
1 6 7 
2 6 7 
1 2 6 7 
3 6 7 
1 3 6 7 
2 3 6 7 
1 2 3 6 7 
4 6 7 
1 4 6 7 
2 4 6 7 
1 2 4 6 7 
3 4 6 7 
1 3 4 6 7 
2 3 4 6 7 
1 2 3 4 6 7 
5 6 7 
1 5 6 7 
2 5 6 7 
1 2 5 6 7 
3 5 6 7 
1 3 5 6 7 
2 3 5 6 7 
1 2 3 5 6 7 
4 5 6 7 
1 4 5 6 7 
2 4 5 6 7 
1 2 4 5 6 7 
3 4 5 6 7 
1 3 4 5 6 7 
2 3 4 5 6 7 
1 2 3 4 5 6 7