链接:https://ac.nowcoder.com/acm/problem/15555
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

小Y在研究数字的时候,发现了一个神奇的等式方程x⊕2x = 3x,他屈指算了一下有很多正整数x满足这个等式,比如1和2,现在问题来了,他想知道从小到大第N个满足这个等式的正整数,请你用程序帮他计算一下。

(⊕表示按位异或运算)

输入描述:

第一行是一个正整数T(T≤100),表示查询次数。

接着有T行,每行有一个正整数N(N≤10 ^12 ),表示小Y的查询。

输出描述:

对于每一个查询N,输出第N个满足题中等式的正整数,并换行。


等式方程的意思就是

一个二进制数加上这个数左移一位2x等于这两个数的异或和

所以 x不能有相邻1,如果有相邻1的话 异或操作会消掉1

1

10

100
101

1000
1001
1010

组数是斐波那契数列,每组的第一位是标志位 2^(n-1)
先算出组数,通过左移操作确定标志位,再计算其他位

"""
等式方程的意思就是 一个二进制数加上这个数左移一位2x等于这两个数的异或和
所以x不能有相邻1,如果有相邻1的话 异或操作会消掉1110 100
1011000
1001
1010组数是斐波那契数列
"""
x, y = 1, 1
C = [1,2]
s = 2
ans = 0
for i in range(59):x, y = x + y, xs += xC.append(s)
def div(n):for i in range(59):if C[i] >= n:breakif n == 1 or n == 0:return nelse:return (1 << (i)) + div(n - C[i - 1] - 1)
T = int(input())
for _ in range(T):u = int(input())print(div(u))

牛客15555 1 + 2 = 3?相关推荐

  1. [C++] 牛客网:合并两个有序的数组

    主要是体验一下牛客网里的核心代码模式到底是怎么弄的..还有C++这个东西平常用的太少了,试一试. 以外的还体验到了sort()函数的使用. 来源:牛客网 题目链接:合并两个有序的数组 知识点:数组.双 ...

  2. 牛客~~打篮球~~~模拟水题

    链接:https://www.nowcoder.com/acm/contest/118/D 来源:牛客网 题目描述 1, 2, 3在打篮球, 可是二打一总是不公平的, 于是他们决定一对一,另一个人在边 ...

  3. 字节跳动java笔试题目_牛客网--字节跳动面试题--特征提取

    牛客网--字节跳动面试题--特征提取 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 来源 链接:特征提取 来源:牛客网 题目 ...

  4. 2019年牛客多校第1场 赛后总结

    A题 :Equivalent Prefixes  题意:就是给你两个有n个不同数的串,然后保证1-p区间内任选一个区间,使得区间中最小值的下标相同,找到最大的p值  思路:我的思路是设置两个单调栈,然 ...

  5. 牛客小白月赛5-F题: 圆(circle)

    题目链接:https://www.nowcoder.com/acm/contest/135/F 题解作者:Stump 题解链接:https://www.nowcoder.com/discuss/878 ...

  6. 牛客网:为什么不能将实数作为 HashMap 的 key?

    欢迎关注方志朋的博客,回复"666"获面试宝典 1.起因 让我关注到这一点的起因是一道题:牛客网上的max-points-on-a-line 题目是这么描述的: Given n p ...

  7. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  8. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  9. 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱

    今天的比赛没打( 睡午觉去了,今天太累了 晚上来看看题 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱 题目传送门 板子题( 我们知道由唯一分解定理得,若 n=p1α1×p2α2×p3α3 ...

最新文章

  1. js去除数组中重复值
  2. 面试官:你知道java类是怎么跑起来的吗?问的我一脸懵
  3. 计算机科学中最重要的32个算法zz
  4. 算法竞赛入门与进阶 (一)枚举
  5. aix系统服务器限制ftp访问,AIX 限制ftp用户只能访问其主目录
  6. 如何使用Windows OVERLAPPED优化你的应用
  7. 设计灵感|如何让你的海报更具现代感?
  8. python filecmp
  9. 单线程智能聊天机器人
  10. 实现一个行内三个div等分_css 实现等分布局
  11. 信息系统项目管理师必背核心考点(四十五)招标投标法
  12. 三、GAMIT解算之分步处理
  13. 2021最新版IDEA安装(最新版可和谐)
  14. 超人前传第一至十季/全集Smallville迅雷下载
  15. 免签接口 个人二维码收款系统/微信支付支付宝支付二维码监听自动发货/个人免签系统/个人免签支付 微信.支付宝 个人支付监控
  16. C语言版家谱管理系统
  17. tp5 使用快递100的SDK
  18. Qt编译通过,运行时出现the process was ended forcefully问题的解决方案
  19. Pytest-html生成独立的报告以及Python打印日志
  20. t - 分布的区间估计

热门文章

  1. LeetCode 1317. 将整数转换为两个无零整数的和
  2. LeetCode 678. 有效的括号字符串(栈)
  3. LeetCode 198. 打家劫舍(DP)
  4. LeetCode 559. N叉树的最大深度
  5. docker $PWD路径_Docker 技术系列之安装Redis单机版和集群版
  6. 上下伸缩代码_CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)
  7. 【Python基础知识-pycharm版】第四节-元组
  8. 邻接矩阵的深度优先遍历
  9. phpstud如何安装mysql新版_phpstudy 升级mysql版本
  10. uuid生成_php如何生成 uuid(总结)