luogu#P16438. [XJTUPC 2026] 共同特征

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

[XJTUPC 2026] 共同特征

题目描述

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

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

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

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

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

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

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

输入格式

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

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

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

输出格式

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

4
9
16
3108
56109
1
16
4
1