华为OD机试E卷 –找数字–24年OD统一考试(Java & JS & Python & C & C++)

文章目录

  • 题目描述
  • 输入描述
  • 输出描述
  • 用例
  • 题目解析
  • JS算法源码
  • Java算法源码
  • python算法源码
  • c算法源码
  • c++算法源码
  • 题目描述

    小扇和小船今天又玩起来了数字游戏,
    小船给小扇一个正整数 n(1 ≤ n ≤ 1e9),小扇需要找到一个比 n 大的数字 m,使得 m 和 n 对应的二进制中 1 的个数要相同,如:

    4对应二进制100
    8对应二进制1000
    其中1的个数都为1个

    现在求 m 的最小值。

    输入描述

    输入一个正整数 n(1 ≤ n ≤ 1e9)

    输出描述

    输出一个正整数 m

    用例

    输入

    2

    输出

    4

    说明
    2的二进制10,
    4的二进制位100,
    1的个数相同,且4是满足条件的最小数

    输入

    7

    输出

    11

    说明
    7的二进制111,
    11的二进制位101

    作者:飞码创造者

    物联沃分享整理
    物联沃-IOTWORD物联网 » 华为OD机试E卷 –找数字–24年OD统一考试(Java & JS & Python & C & C++)

    发表回复