异或的性质 x^y>=x-y

15     1111
12     1100
异或:  0011=3

所以要使得x^y最小,即要让x^y=x-y.

因为gcd(x,y)=n,所以x,y都为n的倍数,可设x=an,y=bn;x-y=(a-b)n,因为a!=b,所以a-b最小为1,所以可视为y=bn=(a+1)*n,此时|x-y|=n,所以|x-y|最小为,n即x^y最小为n. 因为n最大有31位,所以可将x视为将n左移31位,即x=n<<31,y=x+n,此时构造出的x和y满足gcd(x,y)=n,x^y也最小

代码如下

```#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
    int T;
    cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        int x=n<<31;
        int y=x+n;
        cout<<x<<" "<<y<<endl;
    }
}