最后一题 或与加

如果x+y=x|y 表示x y满足或与加

要求,输入两个数x,k,输出 第k小的y;

示例 输入 5 1

输出2,由于 5+1!=5|1 ,因此第一小的数为2

分析:显然满足x+y=x|y的数,有部分0 1互补的特点,也就是只有在x(y)为0的比特位置,y(x)才能为1,不然相加是必然产生进位。因此(x&y==0)成立

第k小,其实就是在x为0的位置进行二进制计数,

比如100100011,第一小的数 100100111

第二小的数相加后的结果100101011

第三小的数相加后的结果100101111

第八小的数相加后的结果111100011

因此第k小数y,也就是100101111^100100011了。

代码

#include <iostream>
#include <vector>
using namespace std;
int main(){unsigned long long x, k, y;vector<unsigned long long> pos1;unsigned long long ans = 0;while (cin >> x >> k)unsigned long long *aa = &x;{pos1.clear();for (unsigned long long i = 0; i < 64; i++){if ((x&1) == 0){pos1.push_back(i);}x >>= 1;}ans = 0;unsigned long long ind = 0;while (k){unsigned long long a = pos1[ind++];unsigned long long b = k & 1;k >>= 1;ans = ans | (b << a);}cout << (ans) << endl;}
}

有大神写的更简洁些

        while (x){long long low = (tmp - 1)&k;long long high = k - low;if (x & 1){high <<= 1;}k = high + low;tmp <<= 1;x >>= 1;}cout << k << endl;

牛客《今日头条》笔试题相关推荐

  1. 华为牛客网在线笔试题之是否是回文串

    最近投了个华为的简历,然后收到了牛客网的在线笔试,题目有三道,第一道是给定一串字符,找出其中最长的回文串,并返回其长度. 我用C++实现的,思路是遍历字符串的每一个字符,然后设置初始值为1的偏移量,如 ...

  2. 原创 牛客网产品笔试题刷题打卡——需求分析/数据分析/文档攥写

    ARPU(ARPU-AverageRevenuePerUser)即每用户平均收入.用于衡量电信运营商和互联网公司业务收入的指标.ARPU注重的是一个时间段内运营商从每个用户所得到的收入.很明显,高端的 ...

  3. 20180415字节跳动今日头条笔试题——后台研发方向

    [编码题|20分] 找周期 时间限制:C/C++ 5秒,其他语言 10秒 空间限制:C/C++ 65536K,其他语言 131072K . 题目描述 . 对于严格递增的正整数数列A=a1.a2.--. ...

  4. 原创 牛客网产品笔试题刷题打卡——用户研究

    QQ和微信的区别. 1.产品定位 QQ:"每一天,乐在沟通",是一款基于互联网的社交通讯软件.QQ是PC互联网的产物,侧重社交,更娱乐化. 微信:"一个生活方式" ...

  5. 【牛客网-前端笔试题】——Javascript专项练习

  6. 今日头条笔试题(一)

    车厢排序 一列火车有n个车厢标记为1,2,3,4,5,6-n 现在因为某些原因,需要调整车厢的相对顺序 例如需要将车厢顺序调整为2,3,1,4,5,6-n 由于车厢庞大,且车厢只能停留在铁轨上,所以不 ...

  7. 【牛客网-前端笔试题】——Javascript专项练习6

  8. 【牛客网-前端笔试题】——Javascript专项练习7

  9. 牛客网产品笔试题刷题打卡——产品规划

  10. 牛客网产品笔试题刷题打卡——需求分析

    互联网思维: 1. 用户思维:指在价值链各个环节中都要"以用户为中心"去考虑问题.(最重要) 2. 简约思维:指在产品规划和品牌定位上,力求专注.简单:在产品设计上,力求简洁.简约 ...

最新文章

  1. linux进程间通信:POSIX 共享内存
  2. SpringMVC上传文件
  3. struts2.0简单页面 (不带拦截器和带拦截器案例)
  4. mysql数据库的逻辑架构和存储引擎
  5. 【C++ grammar】对象和类(创建对象、对象拷贝、分离声明与实现)
  6. 【EOJ Monthly 2019.02 - D】进制转换(思维,取模,高精度大数)
  7. RocketMQ(一)——发展历程及基本概念
  8. 主从切换_Mysql 复制如何进行主从库切换(计划内)
  9. 二、Linux系统目录和文件基本操作
  10. c语言的八进制规定要以0开始,2016年9月计算机二级《C语言》上机试题及答案
  11. 三星电子通信撤出中国!
  12. 绿色自适应网址发布页html源码
  13. 理解 BLS 签名算法
  14. 一言不合就被“游戏毁掉”?!管管孩子,救救游戏吧!
  15. 阿里云服务器出现 Resource stopwords not found. Please use the NLTK Downloader to obtain the resource:
  16. Hyper-V 配置静态 IP
  17. Spring Cloud Ribbon 全解 (1) - 总览篇
  18. Word文档快速翻译的方法,一分钟学会
  19. js实现彩票机选效果
  20. DFS(深度优先搜索算法)入门

热门文章

  1. 耳机声音一边大一边小
  2. 20、CSS中单位:【px和%】【em和rem】【vw|vh|vmin|vmax】的区别
  3. 二维码登录原理+Web端即时通讯技术
  4. 基于匹配点集对单应性矩阵进行估计
  5. WPS JS宏表格定位实例
  6. HTTP请求和响应过程
  7. Excel随机任意数的加减乘除法
  8. 卸载 Mac 默认的 Xcode 附带的 git
  9. SIP协议简介(一)之SIP基本的概述
  10. java List删除元素问题及解决办法