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)
相关推荐
浩浩测试一下8 小时前
汇编 数组与串指令(逆向分析)
汇编·逆向·二进制·免杀·串指令·汇编数组
浩浩测试一下1 天前
汇编中的段与段寄存器(大小)段序 (逆向分析)
汇编·逆向·二进制·字节序·windows编程·内存地址排序
其实防守也摸鱼3 天前
upload-labs靶场的pass-13~21的解题步骤及原理讲解
python·安全·网络安全·靶场·二进制·文件上传漏洞·文件包含漏洞
浩浩测试一下3 天前
汇编 高低八位寄存器数据存储方式(逆向分析)
汇编·网络安全·逆向·二进制·免杀·寄存器·windows编程
BW.SU3 天前
PackagingTool 嵌入式资源打包合并工具
单片机·二进制·嵌入式开发·资源合并软件·图片打包
chaoguo12341 个月前
Plist 二进制格式
二进制·plist
汉克老师2 个月前
GESP2024年12月认证C++三级( 第一部分选择题(1-8))
c++·字符串·二进制·八进制·补码·gesp三级·gesp3级
汉克老师2 个月前
GESP2025年6月认证C++三级( 第一部分选择题(1-8))
c++·二进制·原码·补码·gesp三级·gesp3级·八进制、
The_Uniform_C@t23 个月前
PWN | 对CTF WIKI的复现+再学习 (第八期)
网络·学习·网络安全·二进制
zfj3214 个月前
小数和整数10进制转2进制算法
算法·二进制·进制转换·十进制