Cod sursa(job #735303)

Utilizator visanrVisan Radu visanr Data 16 aprilie 2012 00:07:38
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;

long lgput(long n,long p)
{
     if(!p) return 1;
     if(p%2) return n*lgput(n,p-1);
     long x=lgput(n,p/2);
     return x*x;
}


int main()
{
    freopen("submultimi.in","r",stdin);
    freopen("submultimi.out","w",stdout);
    long p,value,counter=0,i,aux;
    scanf("%ld", &p);
    value=lgput(2,p);
    for(i=1;i<value;i++)
    {
                        counter=0;
                        aux=i;
                        while(aux)
                        {
                                  if(aux&1==1) printf("%ld ", counter+1);
                                  counter++;
                                  aux=aux>>1;
                        }
                        printf("\n");
    }
    scanf("%ld", &i);
    return 0;
}