Pagini recente » Cod sursa (job #3149167) | Cod sursa (job #1887793) | Cod sursa (job #3122335) | Cod sursa (job #103837) | Cod sursa (job #1097773)
program submultimi;
var buf:array[1..100000]of byte;
n,j:byte;
i:longint;
a:array[1..17]of byte;
{vectorul a contine un numar binar
in care a[1] este cifra cea mai putin semnificativa}
begin
assign(input,'submultimi.in');
reset(input);
assign(output,'submultimi.out');
rewrite(output);
settextbuf(output,buf);
{se utilizeaza bufere pentru a citi/scrie mai rapid
cind avem un numar mare de date (comparabil sau mai mare decit
ordinul sutelor de mii) }
readln(n);
for i:=1 to ((1 shl n)-1) do {numarul submultimilor este egal cu 2^n}
begin {dintre care 2^n-1 nevide}
inc(a[1]);
j:=1;
while a[j]=2 do
begin
a[j]:=0; {incrementarea numarului }
inc(a[j+1]); {binar cu o unitate}
inc(j);
end;
for j:=1 to n do
if a[j]=1 then write(j,' ');
writeln;
end;
close(output);
end.