69,382
社区成员
发帖
与我相关
我的任务
分享
//就是对m个元素进行全排列,取法就是从0到2^m-1的所有二进制形式
// 要取得2^m,只需将0xFFFFFFFF左移32-m位,再右移回来就可以了。
unsigned int m;
int i;
int nBit = ( ( 0xFFFFFFFFU << ( 32 - m ) ) >> ( 32 - m ) );
for ( i = 0; i <= nBit; ++i ) {
for ( unsigned int j = 0; j < m; ++j )
cout <<(( i << ( 31 - j ) ) >> 31) ;
cout << '\n';
}