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)
相关推荐
斯内科5 天前
C#使用文件读写操作实现仙剑五前传称号存档修改
c#·二进制·修改器
查士丁尼·绵21 天前
笔试-二进制
二进制
Mysticbinary1 个月前
二进制与位操作
二进制·位操作
前端熊猫1 个月前
二进制、八进制、十进制和十六进制的相互转换
c语言·开发语言·二进制·十六进制·八进制
zhuqiyua3 个月前
直接调用本地API(NTAPI)
操作系统·windbg·逆向·二进制·osed
风间琉璃""3 个月前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
zhuqiyua3 个月前
深入解析Kernel32.dll与Msvcrt.dll
汇编·microsoft·windbg·二进制·dll
zhuqiyua3 个月前
windows二进制安全零基础(二)
汇编·安全·二进制
Espresso Macchiato3 个月前
Leetcode 3352. Count K-Reducible Numbers Less Than N
动态规划·二进制·leetcode hard·leetcode 3352·leetcode周赛423
sweetheart7-73 个月前
LeetCode78. 子集(2024秋季每日一题 58)
二进制·dfs·枚举·数组·子集