题目名称:数字1的打包
题目描述:给定一个正整数n,(n由十进制转换为二进制后,把其中1的个数打成个包)比n大的正整数m,使得m与n的二进制表示中有相同数目的1。
输入描述:若干行,每行一个数n(1<=n<=1000000),输入 0 则结束。
输出描述:若干行对应的值。
样例输入:
1
2
3
4
78
0
样例输出:
2
4
5
8
83
说明:例如最后一个数据,n是78,它的二进制为1001110,包含4个1,那么最小的比n大的并且二进制表示中只包含4个1的数是83,其二进制为1010011,所以83就是答案。