牛客15555 1 + 2 = 3?
链接: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?相关推荐
- [C++] 牛客网:合并两个有序的数组
主要是体验一下牛客网里的核心代码模式到底是怎么弄的..还有C++这个东西平常用的太少了,试一试. 以外的还体验到了sort()函数的使用. 来源:牛客网 题目链接:合并两个有序的数组 知识点:数组.双 ...
- 牛客~~打篮球~~~模拟水题
链接:https://www.nowcoder.com/acm/contest/118/D 来源:牛客网 题目描述 1, 2, 3在打篮球, 可是二打一总是不公平的, 于是他们决定一对一,另一个人在边 ...
- 字节跳动java笔试题目_牛客网--字节跳动面试题--特征提取
牛客网--字节跳动面试题--特征提取 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 来源 链接:特征提取 来源:牛客网 题目 ...
- 2019年牛客多校第1场 赛后总结
A题 :Equivalent Prefixes 题意:就是给你两个有n个不同数的串,然后保证1-p区间内任选一个区间,使得区间中最小值的下标相同,找到最大的p值 思路:我的思路是设置两个单调栈,然 ...
- 牛客小白月赛5-F题: 圆(circle)
题目链接:https://www.nowcoder.com/acm/contest/135/F 题解作者:Stump 题解链接:https://www.nowcoder.com/discuss/878 ...
- 牛客网:为什么不能将实数作为 HashMap 的 key?
欢迎关注方志朋的博客,回复"666"获面试宝典 1.起因 让我关注到这一点的起因是一道题:牛客网上的max-points-on-a-line 题目是这么描述的: Given n p ...
- 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...
- 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱
今天的比赛没打( 睡午觉去了,今天太累了 晚上来看看题 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱 题目传送门 板子题( 我们知道由唯一分解定理得,若 n=p1α1×p2α2×p3α3 ...
最新文章
- js去除数组中重复值
- 面试官:你知道java类是怎么跑起来的吗?问的我一脸懵
- 计算机科学中最重要的32个算法zz
- 算法竞赛入门与进阶 (一)枚举
- aix系统服务器限制ftp访问,AIX 限制ftp用户只能访问其主目录
- 如何使用Windows OVERLAPPED优化你的应用
- 设计灵感|如何让你的海报更具现代感?
- python filecmp
- 单线程智能聊天机器人
- 实现一个行内三个div等分_css 实现等分布局
- 信息系统项目管理师必背核心考点(四十五)招标投标法
- 三、GAMIT解算之分步处理
- 2021最新版IDEA安装(最新版可和谐)
- 超人前传第一至十季/全集Smallville迅雷下载
- 免签接口 个人二维码收款系统/微信支付支付宝支付二维码监听自动发货/个人免签系统/个人免签支付 微信.支付宝 个人支付监控
- C语言版家谱管理系统
- tp5 使用快递100的SDK
- Qt编译通过,运行时出现the process was ended forcefully问题的解决方案
- Pytest-html生成独立的报告以及Python打印日志
- t - 分布的区间估计
热门文章
- LeetCode 1317. 将整数转换为两个无零整数的和
- LeetCode 678. 有效的括号字符串(栈)
- LeetCode 198. 打家劫舍(DP)
- LeetCode 559. N叉树的最大深度
- docker $PWD路径_Docker 技术系列之安装Redis单机版和集群版
- 上下伸缩代码_CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)
- 【Python基础知识-pycharm版】第四节-元组
- 邻接矩阵的深度优先遍历
- phpstud如何安装mysql新版_phpstudy 升级mysql版本
- uuid生成_php如何生成 uuid(总结)