OD C卷 - 小扇和小船的数字游戏

小扇和小船的数字游戏(100)

  • 小船给小扇一个正整数n, 小扇需要找到一个比n大的数字m,使用得m和n对应的二进制中1的个数相同;
  • 如4->二进制100; 8->二进制为1000 其二进制中1的个数相同;
  • 求m的最小值;

输入描述:

输入一个正整数n 在[1, 10^9]
输出描述:

输出一个正整数m

示例1

输入:

2

输出:

4

示例2

输入:

7

输出:

11

思路:

  • 简单的二进制
python 复制代码
 
def getBinaryOneCount(num):
    count = 0
    while num > 0:
	    count += num % 2
	    num = num // 2
    return count


n = int(input().strip())
m = n+1
while True:
    if getBinaryOneCount(m) == getBinaryOneCount(n):
        break
    m += 1
print(m)
相关推荐
ShuQiHere3 天前
【ShuQiHere】 进制转换的世界:从十进制到二进制、十六进制的转换技巧
二进制·计算机组成
Jay 179 天前
第四届“长城杯”网络安全大赛 暨京津冀网络安全技能竞赛(初赛) 全方向 题解WriteUp
安全·web安全·密码学·二进制·ctf·长城杯·安全杂项
小妖剑11 天前
位运算:带带孩子吧,孩子很强的!
c++·性能优化·二进制·位运算·cpp
无 双19 天前
BUUCTF PWN wp--jarvisoj_level0
网络安全·二进制·ctf pwn
00圈圈22 天前
二进制、十进制转换进阶--小数点后的转换
算法·二进制·十进制·小数点转换
laufing24 天前
OD C卷 - 幼儿园篮球游戏
双指针·python算法
laufing25 天前
OD C卷 - 结对编程
python算法·条件计算
Tisfy1 个月前
LeetCode 3133.数组最后一个元素的最小值:位运算+双指针
算法·leetcode·二进制·题解·位运算·双指针
laufing1 个月前
OD C卷 - 5G网络建设
·并查集·python算法