#P16438. [XJTUPC 2026] 共同特征

    ID: 18469 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 显示难度普及− 上传者: 标签>数学数论最大公约数 gcd位运算2026高校校赛

[XJTUPC 2026] 共同特征

题目描述

在计算机科学中,按位与(and⁡\operatorname{and})是一种二元运算。对于任意的非负整数 aa 和 bb,设其二进制表示为 a=∑i=0∞ai2ia = \sum_{i=0}^{\infty} a_i 2^i,b=∑i=0∞bi2ib = \sum_{i=0}^{\infty} b_i 2^i,其中 ai,bi∈{0,1}a_i, b_i \in \{0,1\} 仅有有限个非零,我们记 aa 和 bb 进行按位与运算的结果 aand⁡ba \operatorname{and} b 为:

$$a \operatorname{and} b = \sum_{i=0}^{\infty} (a_i \cdot b_i) 2^i$$

在数学中,整除(∣\mid)是一种二元关系。对于任意的正整数 aa 和 bb,当且仅当存在一个正整数 kk,满足 a=b⋅ka = b \cdot k,我们称 bb 整除 aa,记作 b∣ab\mid a。

在数学中,最大公约数(gcd⁡\gcd)是一种二元运算。对于任意的正整数 aa 和 bb,我们记 aa 和 bb 的最大公约数 gcd⁡(a,b)\gcd(a,b) 为最大的能同时整除 aa 和 bb 的正整数,即:

$$\gcd(a, b) = \max\{ d \in \mathbb{N}^+ : d \mid a \wedge d \mid b \}$$

现在有一个正整数 xx,请找出最小的正整数 yy,使得 xx 和 yy 进行按位与运算的结果等于 xx 和 yy 的最大公约数。即求解:

$$y_{\min} = \min\{ y \in \mathbb{N}^+ : (x \operatorname{and} y) = \gcd(x, y)\}$$

输入格式

本题包含多组测试用例。输入的第一行,包含一个正整数 TT(1≤T≤1051\le T\le 10^5),表示测试用例的数量。

接下来是 TT 组测试用例的描述。

每个测试用例共一行,包含一个正整数 xx(1≤x<2601 \le x < 2^{60})。

输出格式

对于每个测试用例,输出一行,包含一个正整数 ymin⁡y_{\min},表示 $y_{\min} = \min\{ y \in \mathbb{N}^+ : (x \operatorname{and} y) = \gcd(x, y)\}$。

4
9
16
3108
56109
1
16
4
1