Cod sursa(job #1788624)

Utilizator ghost24ghost ghost ghost24 Data 26 octombrie 2016 10:51:37
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#include<fstream>
using namespace std;
int x[30],nr=0;
void back(int poz,int fin)
{
    int i,s=0;
    if(poz==fin+1)
    {
        for(i=1;i<=fin;i++)
        {
            s+=(1<<(fin-1))/(1<<x[i]);
        }
        if(s==(1<<(fin-1)))
        {
            cout<<++nr<<": ";
            for(i=1;i<=fin;i++)
            {
                cout<<(1<<x[i])<<" ";
            }
            cout<<"\n";
        }
        return ;
    }
    for(i=x[poz-1];i<fin;i++)
    {
        x[poz]=i;
        back(poz+1,fin);
    }
}
int main()
{
    x[0]=1;
    for(int i=2;i<=10;i++)
    {
        nr=0;
        back(1,i);
        cout<<"----------------\n";
        //cout<<i<<": "<<nr<<"\n";
    }

}