Toggle navigation
C语言网
教程
博客
团队
训练
训练
题库
题集
状态
排名
比赛
比赛
标准
自主
考试
网课
AI助手
AI助手
代码解释
语言转换
编程助手
Dotcpp
>
编程题库
>
An Easy Problem
题目 3040:
An Easy Problem
时间限制: 3s
内存限制: 192MB
提交: 99 解决: 55
题目描述
给定一个正整数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
提示
零基础的同学可以先学习基础,教程见:
C语言教程
、
C++教程
、
编译器教程
、
数据结构教程
、
Python教程
、
单片机教程
等
视频教学见
视频网课
标签
显示知识点标签
编程练习
贪心
基础
C
C++
Java
Python
PHP
代码重置
开启O2优化
分享
收藏
提交
在线测试
上一题
下一题
通过率
统 计
解题报告
我要看题解
我来写题解
推荐题目
[编程入门]链表之报数问题
[编程入门]链表之节点删除
扫雷游戏地雷数计算
图像模糊处理
你的第一个程序