• nyoj--744--蚂蚁的难题(一)


    蚂蚁的难题(一)

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:2
    描述

    小蚂蚁童鞋最近迷上了位运算,他感觉位运算非常神奇。不过他最近遇到了一个难题:

    给定一个区间[a,b],在区间里寻找两个数x和y,使得x异或y最大。来,帮帮他吧!

    输入
    有多组测试数据(以EOF结尾)。
    每组数据输入两个数a,b.(0<=a<b<2^63)
    输出
    输出a到b之间,异或最大的值。
    样例输入
    1 2
    8 9
    样例输出
    3
    1




    #include <cstdio>
    int main()
    {
        long long a, b;
        while (~scanf("%lld %lld", &a, &b))
        {
            long long x = a ^ b;
            int c = 0;
            while (x)
            {
                c++;
                x >>= 1;
            }
            long long res = 1;
            for (int i = 0; i < c; i++)
            res *= 2;
            printf("%lld
    ", res - 1);
        }
        return 0;
    }


  • 相关阅读:
    multi-task learning
    代码杂谈-python函数
    代码杂谈-or符号
    安装maven
    zsh
    mint linux的几个问题
    [软件] Omnigraffle
    无梯度优化算法
    根据pdf文件获取标题等信息
    计算广告-GD广告
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273791.html
Copyright © 2020-2023  润新知