Cod sursa(job #2192539)

Utilizator ibicecIT Zilla ibicec Data 6 aprilie 2018 14:57:30
Problema Submultimi Scor 50
Compilator java Status done
Runda Arhiva educationala Marime 1.08 kb
import java.io.*;
import java.util.Scanner;

public class Main {

    private static PrintWriter printWriter;

    public static void main(String[] args) throws FileNotFoundException {
        printWriter = new PrintWriter("submultimi.out");
        Scanner scanner = new Scanner(new FileReader("submultimi.in"));
        generateSubsets(scanner.nextInt());
        scanner.close();
        printWriter.close();
    }

    private static void generateSubsets(int setLength) {
        int fullSubset = fillWithOnes(setLength);
        int currentSubset = 1;
        while (currentSubset <= fullSubset) {
            printSubset(setLength, currentSubset++);
        }
    }

    private static int fillWithOnes(int n) {
        int result = 0;
        for (int i=0; i<n; i++) {
            result |= 1 << i;
        }
        return result;
    }

    private static void printSubset(int setLength, int subSet) {
        for (int i=0; i<setLength; i++) {
            if ((subSet & (1 << i)) > 0) {
                printWriter.printf("%d ", i+1);
            }
        }
        printWriter.println();
    }
}