Pagini recente » Cod sursa (job #62702) | Cod sursa (job #224500) | Cod sursa (job #2900290) | Cod sursa (job #3277700) | Cod sursa (job #807346)
Cod sursa(job #807346)
#include<fstream>
#include<cmath>
using namespace std;
/*Idea de rezolvare :
Vom efectua (2^n)-1 adunari binare
ADUNARI BINARE :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (1 se transfera cu o pozitie mai incolo)
*/
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int main()
{
int n,x[5000],i,j,k;
long a;
f>>n;
for(i=1; i<=n; i++)
x[i] = 0;
a = pow(2,n)-1;
for(i=1; i<=a; i++)
{
k = 1;
x[1]++;
while(x[k] == 2)
{
x[k] = 0;
x[k+1]++;
k++;
}
for(j=1; j<=n; j++) if(x[j]) g<<j<<" ";
g<<"\n";
}
f.close();
g.close();
return 0;
}