Pagini recente » Cod sursa (job #331749) | Cod sursa (job #2108481) | Cod sursa (job #1641353) | Cod sursa (job #492643) | Cod sursa (job #1788624)
#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";
}
}