枚举二进制子集

for(int j=w;j;j=(j-1)&w);

for(int j=W;j;j=(j-1)&w);
View Code

每次把最后一个1赋为0,并把剩下的0赋成1,并与原数取&

这样能做到枚举全每一个1位是0和1时的子集的情况。

posted @ 2019-09-21 12:06  seamtn  阅读(259)  评论(1编辑  收藏  举报