An Easy Problem(信息学奥赛一本通-1223)

【题目描述】

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

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

【输入】

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

【输出】

输出若干行对应的值。

【输入样例】

1

2

3

4

78

0

【输出样例】

2

4

5

8

83

【题解代码】

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

int get(int x)
{
	int cnt = 0;
	while (x)
	{
		x &= x - 1;
		cnt++;
	}
	return cnt;
}

int main()
{
	int n;
	while (cin >> n && n != 0)
	{
		int num = get(n);
		for (int i = n + 1; i <= 1e6; i++)
		{
			if (get(i) == num)
			{
				cout << i << endl;
				break;
			}
		}
	}

    return 0;

}
相关推荐
国服第二切图仔37 分钟前
Rust开发之使用Trait对象实现多态
开发语言·算法·rust
电鱼智能的电小鱼1 小时前
基于电鱼 ARM 工控机的井下AI故障诊断方案——让煤矿远程监控更智能、更精准
网络·arm开发·人工智能·算法·边缘计算
s砚山s1 小时前
代码随想录刷题——二叉树篇(一)
c++·算法·leetcode
小十一再加一2 小时前
【数据结构初阶】单链表
数据结构
ZIM学编程4 小时前
「学长有话说」作为一个大三学长,我想对大一计算机专业学生说这些!
java·c语言·数据结构·c++·python·学习·php
贝塔实验室4 小时前
LDPC 码的构造方法
算法·fpga开发·硬件工程·动态规划·信息与通信·信号处理·基带工程
Greedy Alg4 小时前
LeetCode 287. 寻找重复数
算法
2501_938791225 小时前
逻辑回归与KNN在低维与高维数据上的分类性能差异研究
算法·分类·逻辑回归
南方的狮子先生5 小时前
【深度学习】60 分钟 PyTorch 极速入门:从 Tensor 到 CIFAR-10 分类
人工智能·pytorch·python·深度学习·算法·分类·1024程序员节
报错小能手5 小时前
C++笔记(面向对象)类模板
算法