老骥伏枥

PDF 视图

提交程序

分数: 1
时间限制: 1.0s
内存限制: 512M

作者:
题目类型

题目描述

2026 丙午马年,一位少年骑手报名参加马拉松骑行挑战赛。赛道上的打卡点以正整数编号(\(1, 2, 3, \ldots\)),若两个打卡点的编号 \(i, j\) 满足 \(\text{popcount}(i \oplus j) = 1\),则它们之间有一条长度为 \(1\) 的赛道。

少年从 \(1\) 号打卡点出发,目标是到达 \(n\) 号打卡点。请你帮他算出最短路的长度。

其中 \(\text{popcount}(x)\) 表示 \(x\) 在二进制下 \(1\) 的个数, \(\oplus\) 表示按位异或。

输入格式

输入 \(T\ (1 \le T \le 5 \cdot 10^4)\),表示数据组数。

接下来 \(T\) 行,每行一个正整数 \(n\ (1 \le n \le 10^9)\)。

输出格式

对于每组数据,输出一行一个整数,表示最短路的长度。

样例输入

3
4
1
7

样例输出

2
0
2

评论

目前没有评论。