Cod sursa(job #1996669)

Utilizator BogdanisarBurcea Bogdan Madalin Bogdanisar Data 2 iulie 2017 12:51:57
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
const int NMax = 16 + 5;

// solutie cu lucru pe biti

int N;

int main() {
    in>>N;

    int lim = 1<<N;
    // i - masca binara: daca un bit este 1 inseamna ca
    // elementul reprezentat de pozitia bitului face parte din submultime
    for (int i=1;i < lim;++i) {

        for (int j=1;j <= N;++j) {
            if ( (1<<(j-1)) & i ) { // se verifica biti
                out<<j<<' ';
            }
        }
        out<<'\n';
    }

    in.close();
    out.close();
    return 0;
}