2021年9月中国电子学会全国青少年软件编程(C语言)等级考试试卷(五级)问题求解

时间:2022-10-10 08:30:10 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

问题求解

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

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

时间限制:1000

内存限制:65536

输入

输入若干行,每行一个数N(1 ≤ N ≤ 1000000),如果这行为0表示输入结束。

输出

对于每个N,输出对应的M。

样例输入

1

2

3

4

78

0

样例输出

2

4

5

8

83

本文来源:https://www.wddqw.com/doc/1a2e557bf31dc281e53a580216fc700aba685270.html