| Занятие 1 |
| Занятие 2 |
| Занятие 4 |
| Занятие 5 |
| Занятие 6 |
| Занятие 7 |
| Занятие 8 |
| Занятие 9 |
| Занятие 10 |
| Занятие 11 |
| Занятие 12 |
| Занятие 13 |
| Занятие 14 |
| Занятие 15 |
| Занятие 16 |
| Занятие 17 |
| Занятие 18 |
| Занятие 19 |
| Занятие 20 |
Занятие 3
Генерация всех подмножествint i, j, n;
for(i=0; i<(1<<n); ++i)
{ for(j=0; j<n; ++j)
if(i&(1<<j))
printf(" %d",j+1);
printf("\n");
}
Рекурсивный вариантint n;
int b[100]; // массив флагов: b[i]==1 если (i+1) входит в множество
void rec(int i)
{ if(i==n)
{
for(i=0; i<n; ++i)
if(b[i])
printf(" %d",i+1);
printf("\n");
return;
}
b[i]=0;
rec(i+1);
b[i]=1;
rec(i+1);
}