编程题

1223:An Easy Problem


时间限制: 1000 ms         内存限制: 65536 KB
提交数:19108    通过数: 13393

【题目描述】

给定一个正整数$N$,求最小的、比$N$大的正整数$M$,使得$M$与$N$的二进制表示中有相同数目的$1$。

举个例子,假如给定的$N$为$78$,其二进制表示为$1001110$,包含$4$个$1$,那么最小的比$N$大的并且二进制表示中只包含$4$个$1$的数是$83$,其二进制是$1010011$,因此$83$就是答案。

【输入】

输入若干行,每行一个数$n$($1\\le n\\le 1000000$),输入"$0$"结束。

【输出】

输出若干行对应的值。

【输入样例】

1
2
3
4
78
0

【输出样例】

2
4
5
8
83
查看答案
赣ICP备20007335号-2