#include<cstdio>
#include<algorithm>
#define maxn 100000
using namespace std;
int inv[maxn];
void solve(int state){
for(int j=state;j;j-=j&-j)
printf("%d\n",j);
}
int main(){
solve(2012);
}
枚举一个数字中的每个二进制位:
for(int i=sta;i;i&=i-1) printf("%d\n",i&-i);