【双倍分数】希望高手帮小弟我解释一上这一小段代码的思想

【双倍分数】希望高手帮我解释一下这一小段代码的思想
http://bbs.****.net/topics/390368590
额,之前发错区了
还望高手解答,分数双倍给

------解决方案--------------------



引用:
集合的顺序是(暂不考虑空集)
{1}
{3},{1,3}
{9},{1,9},{3,9},{1,3,9}
{27}...
共有2^n-1个子集,且第2^x个集合为一个数(x从1到n)
然后将n与2^x比大小(x从n到1),当某一时刻n>2^x,取该时刻x所对应的单个数的集合,且n=n-2^x
继续循环直到n=1
所得到的单个集合的并就是所求集合了。。

说的有点乱,给楼主参考一……



例如,n=10时,10=2^3+2^1;那么该集合为{27,3}
n=18=2^4+2,集合为{81,3}