最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 蒟蒻的疑问

    正文概述 陈老师   2026-01-20 15:32:16  

    题目描述

    最近,蒟蒻小明的班上准备拍一次特殊的集体照,因为队形要求是要班上的所有 3232 名同学全部站成一排。而好学的小明发现,在这种情况下,如果将男女生分别看成 1100,照相的队形就能组成一个 3232 位长的二进制数,而二进制又能转化成十进制,因此一个不同的队形就对应了一个不同的数字。

    小明想考一考他的同桌,就想出了一个问题:给定原始队形 xx,问如何重新排列队伍,才能得到第一个在数值上比原始队形大的数 yy 呢。但其实身为蒟蒻的小明自己也不知道答案,所以就把计算答案这个任务委托给了聪明的你,请你写一个程序帮帮孩子。

    提示:yy 是大于 xx 的最小整数。比如对于 x=13x=13,表示原本的队形为 0011010\cdots 01101,则对应的 yy 应为 1414,表示新队形为 0011100\cdots 01110

    输入格式

    输入包含若干行,每行一个整数 xx,表示原本的队伍组合成的数值大小,以 x=0x=0 表示输入结束。

    输出格式

    每行一个整数,表示每个 xx 对应的 yy

    样例

    1
    2
    3
    4
    5
    0
    
    2
    4
    5
    8
    6
    

    数据范围

    1x23211\le x \le 2^{32}-1

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 蒟蒻的疑问