#include <stdio.h>
#define N 6
int main(void)
{
int b[N+1] = {0};
int i = 0, j = 1;
while( !b[N] )
{
i = 0;
while( b[i]) b[i++] = 0; // моделируем перенос в следующий разряд, возникающий при сложении
b[i] = 1;
if(i < N) printf("%s%2c%1d - ", "Subset",'#',j++);
//Распечатываем индексы единичных элементов массива B -новое сгенерированное подмножество
for(i = 0; i < N; i++)
if(b[i])
printf("%d", i);
printf("\n\n");//переход на новую строку при печати
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgTiA2CmludCBtYWluKHZvaWQpCnsKCWludCBiW04rMV0gPSB7MH07CglpbnQgaSA9IDAsIGogPSAxOwoKCXdoaWxlKCAhYltOXSApCgl7CgkJaSA9IDA7CgkJd2hpbGUoIGJbaV0pIGJbaSsrXSA9IDA7IC8vINC80L7QtNC10LvQuNGA0YPQtdC8INC/0LXRgNC10L3QvtGBINCyINGB0LvQtdC00YPRjtGJ0LjQuSDRgNCw0LfRgNGP0LQsINCy0L7Qt9C90LjQutCw0Y7RidC40Lkg0L/RgNC4INGB0LvQvtC20LXQvdC40LggCgkJYltpXSA9IDE7CgoJCWlmKGkgPCBOKSBwcmludGYoIiVzJTJjJTFkIC0gIiwgIlN1YnNldCIsJyMnLGorKyk7CgkJLy/QoNCw0YHQv9C10YfQsNGC0YvQstCw0LXQvCDQuNC90LTQtdC60YHRiyDQtdC00LjQvdC40YfQvdGL0YUg0Y3Qu9C10LzQtdC90YLQvtCyINC80LDRgdGB0LjQstCwIEIgLdC90L7QstC+0LUg0YHQs9C10L3QtdGA0LjRgNC+0LLQsNC90L3QvtC1INC/0L7QtNC80L3QvtC20LXRgdGC0LLQvgoJCWZvcihpID0gMDsgaSA8IE47IGkrKykKCQkJaWYoYltpXSkKCQkJCXByaW50ZigiJWQiLCBpKTsKCQlwcmludGYoIlxuXG4iKTsvL9C/0LXRgNC10YXQvtC0INC90LAg0L3QvtCy0YPRjiDRgdGC0YDQvtC60YMg0L/RgNC4INC/0LXRh9Cw0YLQuCAKCgl9CgoJcmV0dXJuIDA7Cn0=