Cod sursa(job #764579)

Utilizator mi5humihai draghici mi5hu Data 5 iulie 2012 17:00:01
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <math.h>
using namespace std;

// Afiseaza elementele multimii cu indicele n;
// (((1 << m)  &  n) != 0) => m este in multime
void afiseaza(int n) {
     int m = 1;
     int nr = 0;
     while ((1<<nr) <= n) {
           if (((1<<nr) & n) != 0) {
              printf("%d ", (nr + 1));   
           }     
           nr++;
     }
     printf("\n");
}

void rezolva(int n) {
     for (int i = 1; i < pow(2, n); i++) {
         afiseaza(i);
     }
}

int main()
{
    int n;
    freopen("submultimi.in", "r", stdin);
    freopen("submultimi.out", "w", stdout);
    
    scanf("%d", &n);
    rezolva(n);
}