当前位置:   article > 正文

华为OD机试-找数字(Java/Python/C++)_华为机试找数字

华为机试找数字

一、题目描述

题目描述:

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

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

现在求 m 的最小值

二、输入输出

输入描述:

输入一个正整数 n(1 ≤ n ≤ 1e9)
输出描述:
输出一个正整数 m

三、测试用例

  1. 用例1
  2. 输入:
  3. 2
  4. 输出:
  5. 4
  6. 说明:
  7. 2的二进制10
  8. 4的二进制位100
  9. 1的个数相同,且4是满足条件的最小数
  10. 用例2
  11. 输入:
  12. 7
  13. 输出:
  14. 11
  15. 说明:
  16. 7的二进制111
  17. 11的二进制位1011
  18. 1的个数相同,且1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/778055
推荐阅读
相关标签
  

闽ICP备14008679号